diff --git a/src/blokus_gym/core/__pycache__/bots.cpython-312.pyc b/src/blokus_gym/core/__pycache__/bots.cpython-312.pyc index 7cf3bbd..32a9a5d 100644 Binary files a/src/blokus_gym/core/__pycache__/bots.cpython-312.pyc and b/src/blokus_gym/core/__pycache__/bots.cpython-312.pyc differ diff --git a/src/blokus_gym/core/blokus_cython.c b/src/blokus_gym/core/blokus_cython.c index f8f6265..09dde59 100644 --- a/src/blokus_gym/core/blokus_cython.c +++ b/src/blokus_gym/core/blokus_cython.c @@ -19,12 +19,12 @@ "include_dirs": [ "/home/matt/miniconda3/lib/python3.12/site-packages/numpy/_core/include" ], - "name": "blokus_gym.core.blokus_cython", + "name": "blokus_cython", "sources": [ - "blokus_gym/core/blokus_cython.pyx" + "blokus_cython.pyx" ] }, - "module_name": "blokus_gym.core.blokus_cython" + "module_name": "blokus_cython" } END: Cython Metadata */ @@ -1153,8 +1153,8 @@ static int __Pyx_init_co_variables(void) { #endif #endif -#define __PYX_HAVE__blokus_gym__core__blokus_cython -#define __PYX_HAVE_API__blokus_gym__core__blokus_cython +#define __PYX_HAVE__blokus_cython +#define __PYX_HAVE_API__blokus_cython /* Early includes */ #include #include @@ -1406,9 +1406,9 @@ static const char *__pyx_filename; /* #### Code section: filename_table ### */ static const char* const __pyx_f[] = { - "blokus_gym/core/blokus_cython.pyx", + "blokus_cython.pyx", "", - "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd", + "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd", "cpython/type.pxd", }; /* #### Code section: utility_code_proto_before_types ### */ @@ -1661,7 +1661,7 @@ typedef struct { /* #### Code section: numeric_typedefs ### */ -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":743 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":743 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -1670,7 +1670,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":744 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":744 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -1679,7 +1679,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":745 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":745 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -1688,7 +1688,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":746 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":746 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -1697,7 +1697,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":748 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":748 * ctypedef npy_int64 int64_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -1706,7 +1706,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":749 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":749 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -1715,7 +1715,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":750 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":750 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -1724,7 +1724,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":751 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":751 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -1733,7 +1733,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":753 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":753 * ctypedef npy_uint64 uint64_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -1742,7 +1742,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":754 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":754 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -1751,7 +1751,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":761 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":761 * ctypedef double complex complex128_t * * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -1760,7 +1760,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":762 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":762 * * ctypedef npy_longlong longlong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -1769,7 +1769,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":764 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":764 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -1778,7 +1778,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":765 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":765 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -1787,7 +1787,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":767 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":767 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -1796,7 +1796,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":768 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":768 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -1805,7 +1805,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":769 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":769 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -1853,49 +1853,49 @@ static CYTHON_INLINE __pyx_t_long_double_complex __pyx_t_long_double_complex_fro /* #### Code section: type_declarations ### */ /*--- Type declarations ---*/ -struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board; -struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move; -struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation; -struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece; -struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet; -struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState; -struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame; -struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr; -struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr; -struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr; -struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr; -struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr; -struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr; -struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr; +struct __pyx_obj_13blokus_cython_Board; +struct __pyx_obj_13blokus_cython_Move; +struct __pyx_obj_13blokus_cython_PieceOrientation; +struct __pyx_obj_13blokus_cython_Piece; +struct __pyx_obj_13blokus_cython_PieceSet; +struct __pyx_obj_13blokus_cython_PlayerState; +struct __pyx_obj_13blokus_cython_BlokusGame; +struct __pyx_obj_13blokus_cython___pyx_scope_struct__genexpr; +struct __pyx_obj_13blokus_cython___pyx_scope_struct_1_genexpr; +struct __pyx_obj_13blokus_cython___pyx_scope_struct_2_genexpr; +struct __pyx_obj_13blokus_cython___pyx_scope_struct_3_genexpr; +struct __pyx_obj_13blokus_cython___pyx_scope_struct_4_genexpr; +struct __pyx_obj_13blokus_cython___pyx_scope_struct_5_genexpr; +struct __pyx_obj_13blokus_cython___pyx_scope_struct_6_genexpr; struct __pyx_array_obj; struct __pyx_MemviewEnum_obj; struct __pyx_memoryview_obj; struct __pyx_memoryviewslice_obj; -/* "blokus_gym/core/blokus_cython.pyx":17 +/* "blokus_cython.pyx":17 * # ------------------------------------------------------------------- * * cdef class Board: # <<<<<<<<<<<<<< * """Cython-optimized Board class with static typing. * */ -struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board { +struct __pyx_obj_13blokus_cython_Board { PyObject_HEAD - struct __pyx_vtabstruct_10blokus_gym_4core_13blokus_cython_Board *__pyx_vtab; + struct __pyx_vtabstruct_13blokus_cython_Board *__pyx_vtab; int size; __Pyx_memviewslice grid; PyObject *_occupied_cache; }; -/* "blokus_gym/core/blokus_cython.pyx":171 +/* "blokus_cython.pyx":171 * # ------------------------------------------------------------------- * * cdef class Move: # <<<<<<<<<<<<<< * """A move in the game (piece, orientation, position).""" * */ -struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move { +struct __pyx_obj_13blokus_cython_Move { PyObject_HEAD int piece_id; int orientation_id; @@ -1904,14 +1904,14 @@ struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move { }; -/* "blokus_gym/core/blokus_cython.pyx":189 +/* "blokus_cython.pyx":189 * * * cdef class PieceOrientation: # <<<<<<<<<<<<<< * """A piece in a specific orientation (before placement on board).""" * */ -struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation { +struct __pyx_obj_13blokus_cython_PieceOrientation { PyObject_HEAD int piece_id; int orientation_id; @@ -1920,28 +1920,28 @@ struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation { }; -/* "blokus_gym/core/blokus_cython.pyx":204 +/* "blokus_cython.pyx":204 * * * cdef class Piece: # <<<<<<<<<<<<<< * """A polyomino piece defined by a set of (x, y) coordinates.""" * */ -struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece { +struct __pyx_obj_13blokus_cython_Piece { PyObject_HEAD PyObject *name; PyObject *squares; }; -/* "blokus_gym/core/blokus_cython.pyx":219 +/* "blokus_cython.pyx":219 * * * cdef class PieceSet: # <<<<<<<<<<<<<< * """A collection of pieces with pre-computed orientations.""" * */ -struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet { +struct __pyx_obj_13blokus_cython_PieceSet { PyObject_HEAD PyObject *pieces; PyObject *piece_names; @@ -1951,14 +1951,14 @@ struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet { }; -/* "blokus_gym/core/blokus_cython.pyx":373 +/* "blokus_cython.pyx":378 * # ------------------------------------------------------------------- * * cdef class PlayerState: # <<<<<<<<<<<<<< * """State for a single player.""" * */ -struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState { +struct __pyx_obj_13blokus_cython_PlayerState { PyObject_HEAD int idx; PyObject *available_pieces; @@ -1969,18 +1969,18 @@ struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState { }; -/* "blokus_gym/core/blokus_cython.pyx":396 +/* "blokus_cython.pyx":401 * # ------------------------------------------------------------------- * * cdef class BlokusGame: # <<<<<<<<<<<<<< * """Cython-optimized Blokus game engine.""" * */ -struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame { +struct __pyx_obj_13blokus_cython_BlokusGame { PyObject_HEAD - struct __pyx_vtabstruct_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_vtab; + struct __pyx_vtabstruct_13blokus_cython_BlokusGame *__pyx_vtab; int board_size; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *piece_set; + struct __pyx_obj_13blokus_cython_PieceSet *piece_set; int num_players; int corner_rule; PyObject *board; @@ -1995,14 +1995,14 @@ struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame { }; -/* "blokus_gym/core/blokus_cython.pyx":241 +/* "blokus_cython.pyx":241 * self.orientations.append(orients) * * self.num_orientations = sum(len(o) for o in self.orientations) # <<<<<<<<<<<<<< * * @property */ -struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr { +struct __pyx_obj_13blokus_cython___pyx_scope_struct__genexpr { PyObject_HEAD PyObject *__pyx_genexpr_arg_0; PyObject *__pyx_v_o; @@ -2011,14 +2011,14 @@ struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr }; -/* "blokus_gym/core/blokus_cython.pyx":351 +/* "blokus_cython.pyx":356 * cdef list normalize_squares_cython(list squares): * """Normalize squares to start at (0, 0).""" * cdef int min_x = min(x for x, _ in squares) # <<<<<<<<<<<<<< * cdef int min_y = min(y for _, y in squares) * */ -struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr { +struct __pyx_obj_13blokus_cython___pyx_scope_struct_1_genexpr { PyObject_HEAD PyObject *__pyx_genexpr_arg_0; PyObject *__pyx_v__; @@ -2028,14 +2028,14 @@ struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr }; -/* "blokus_gym/core/blokus_cython.pyx":352 +/* "blokus_cython.pyx":357 * """Normalize squares to start at (0, 0).""" * cdef int min_x = min(x for x, _ in squares) * cdef int min_y = min(y for _, y in squares) # <<<<<<<<<<<<<< * * return [(x - min_x, y - min_y) for x, y in squares] */ -struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr { +struct __pyx_obj_13blokus_cython___pyx_scope_struct_2_genexpr { PyObject_HEAD PyObject *__pyx_genexpr_arg_0; PyObject *__pyx_v__; @@ -2045,14 +2045,14 @@ struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr }; -/* "blokus_gym/core/blokus_cython.pyx":481 +/* "blokus_cython.pyx":486 * for orient_id, orient in enumerate(self.piece_set.get_orientations(piece_id)): * squares = orient.squares * max_x = max(x for x, _ in squares) # <<<<<<<<<<<<<< * max_y = max(y for _, y in squares) * */ -struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr { +struct __pyx_obj_13blokus_cython___pyx_scope_struct_3_genexpr { PyObject_HEAD PyObject *__pyx_genexpr_arg_0; PyObject *__pyx_v__; @@ -2062,14 +2062,14 @@ struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr }; -/* "blokus_gym/core/blokus_cython.pyx":482 +/* "blokus_cython.pyx":487 * squares = orient.squares * max_x = max(x for x, _ in squares) * max_y = max(y for _, y in squares) # <<<<<<<<<<<<<< * * for px in range(self.board_size - max_x): */ -struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr { +struct __pyx_obj_13blokus_cython___pyx_scope_struct_4_genexpr { PyObject_HEAD PyObject *__pyx_genexpr_arg_0; PyObject *__pyx_v__; @@ -2079,28 +2079,28 @@ struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr }; -/* "blokus_gym/core/blokus_cython.pyx":754 +/* "blokus_cython.pyx":767 * * # Game ends if all players can't move * if all(not p.can_move for p in self.players): # <<<<<<<<<<<<<< * self.game_over = True * elif all(p.has_started and not p.available_pieces for p in self.players): */ -struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr { +struct __pyx_obj_13blokus_cython___pyx_scope_struct_5_genexpr { PyObject_HEAD PyObject *__pyx_genexpr_arg_0; PyObject *__pyx_v_p; }; -/* "blokus_gym/core/blokus_cython.pyx":756 +/* "blokus_cython.pyx":769 * if all(not p.can_move for p in self.players): * self.game_over = True * elif all(p.has_started and not p.available_pieces for p in self.players): # <<<<<<<<<<<<<< * # All pieces played * self.game_over = True */ -struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr { +struct __pyx_obj_13blokus_cython___pyx_scope_struct_6_genexpr { PyObject_HEAD PyObject *__pyx_genexpr_arg_0; PyObject *__pyx_v_p; @@ -2184,7 +2184,7 @@ struct __pyx_memoryviewslice_obj { -/* "blokus_gym/core/blokus_cython.pyx":17 +/* "blokus_cython.pyx":17 * # ------------------------------------------------------------------- * * cdef class Board: # <<<<<<<<<<<<<< @@ -2192,13 +2192,13 @@ struct __pyx_memoryviewslice_obj { * */ -struct __pyx_vtabstruct_10blokus_gym_4core_13blokus_cython_Board { - int (*is_cell_empty)(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *, int, int); +struct __pyx_vtabstruct_13blokus_cython_Board { + int (*is_cell_empty)(struct __pyx_obj_13blokus_cython_Board *, int, int); }; -static struct __pyx_vtabstruct_10blokus_gym_4core_13blokus_cython_Board *__pyx_vtabptr_10blokus_gym_4core_13blokus_cython_Board; +static struct __pyx_vtabstruct_13blokus_cython_Board *__pyx_vtabptr_13blokus_cython_Board; -/* "blokus_gym/core/blokus_cython.pyx":396 +/* "blokus_cython.pyx":401 * # ------------------------------------------------------------------- * * cdef class BlokusGame: # <<<<<<<<<<<<<< @@ -2206,15 +2206,17 @@ static struct __pyx_vtabstruct_10blokus_gym_4core_13blokus_cython_Board *__pyx_v * */ -struct __pyx_vtabstruct_10blokus_gym_4core_13blokus_cython_BlokusGame { - void (*_generate_action_space)(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *); - PyObject *(*_get_placed_squares)(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *, struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *); - PyObject *(*_get_placed_corners)(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *, struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *); - int (*valid_move)(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *, int, struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *, int __pyx_skip_dispatch); - PyObject *(*get_valid_actions)(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *, int, int __pyx_skip_dispatch); - int (*has_valid_moves)(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *, int, int __pyx_skip_dispatch); +struct __pyx_vtabstruct_13blokus_cython_BlokusGame { + void (*_generate_action_space)(struct __pyx_obj_13blokus_cython_BlokusGame *); + PyObject *(*_get_placed_squares)(struct __pyx_obj_13blokus_cython_BlokusGame *, struct __pyx_obj_13blokus_cython_Move *); + PyObject *(*get_placed_squares)(struct __pyx_obj_13blokus_cython_BlokusGame *, struct __pyx_obj_13blokus_cython_Move *, int __pyx_skip_dispatch); + PyObject *(*_get_placed_corners)(struct __pyx_obj_13blokus_cython_BlokusGame *, struct __pyx_obj_13blokus_cython_Move *); + PyObject *(*get_placed_corners)(struct __pyx_obj_13blokus_cython_BlokusGame *, struct __pyx_obj_13blokus_cython_Move *, int __pyx_skip_dispatch); + int (*valid_move)(struct __pyx_obj_13blokus_cython_BlokusGame *, int, struct __pyx_obj_13blokus_cython_Move *, int __pyx_skip_dispatch); + PyObject *(*get_valid_actions)(struct __pyx_obj_13blokus_cython_BlokusGame *, int, int __pyx_skip_dispatch); + int (*has_valid_moves)(struct __pyx_obj_13blokus_cython_BlokusGame *, int, int __pyx_skip_dispatch); }; -static struct __pyx_vtabstruct_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_vtabptr_10blokus_gym_4core_13blokus_cython_BlokusGame; +static struct __pyx_vtabstruct_13blokus_cython_BlokusGame *__pyx_vtabptr_13blokus_cython_BlokusGame; /* "View.MemoryView":118 @@ -3798,13 +3800,15 @@ static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_5shape_shape(PyArrayObjec static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_7strides_strides(PyArrayObject *__pyx_v_self); /* proto*/ static CYTHON_INLINE npy_intp __pyx_f_5numpy_7ndarray_4size_size(PyArrayObject *__pyx_v_self); /* proto*/ static CYTHON_INLINE char *__pyx_f_5numpy_7ndarray_4data_data(PyArrayObject *__pyx_v_self); /* proto*/ -static int __pyx_f_10blokus_gym_4core_13blokus_cython_5Board_is_cell_empty(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, int __pyx_v_x, int __pyx_v_y); /* proto*/ -static void __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__generate_action_space(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto*/ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_placed_squares(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_move); /* proto*/ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_placed_corners(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_move); /* proto*/ -static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx, struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_move, int __pyx_skip_dispatch); /* proto*/ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_valid_actions(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx, int __pyx_skip_dispatch); /* proto*/ -static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_moves(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx, int __pyx_skip_dispatch); /* proto*/ +static int __pyx_f_13blokus_cython_5Board_is_cell_empty(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, int __pyx_v_x, int __pyx_v_y); /* proto*/ +static void __pyx_f_13blokus_cython_10BlokusGame__generate_action_space(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto*/ +static PyObject *__pyx_f_13blokus_cython_10BlokusGame__get_placed_squares(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, struct __pyx_obj_13blokus_cython_Move *__pyx_v_move); /* proto*/ +static PyObject *__pyx_f_13blokus_cython_10BlokusGame_get_placed_squares(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, struct __pyx_obj_13blokus_cython_Move *__pyx_v_move, int __pyx_skip_dispatch); /* proto*/ +static PyObject *__pyx_f_13blokus_cython_10BlokusGame__get_placed_corners(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, struct __pyx_obj_13blokus_cython_Move *__pyx_v_move); /* proto*/ +static PyObject *__pyx_f_13blokus_cython_10BlokusGame_get_placed_corners(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, struct __pyx_obj_13blokus_cython_Move *__pyx_v_move, int __pyx_skip_dispatch); /* proto*/ +static int __pyx_f_13blokus_cython_10BlokusGame_valid_move(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx, struct __pyx_obj_13blokus_cython_Move *__pyx_v_move, int __pyx_skip_dispatch); /* proto*/ +static PyObject *__pyx_f_13blokus_cython_10BlokusGame_get_valid_actions(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx, int __pyx_skip_dispatch); /* proto*/ +static int __pyx_f_13blokus_cython_10BlokusGame_has_valid_moves(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx, int __pyx_skip_dispatch); /* proto*/ /* Module declarations from "cython.view" */ @@ -3830,50 +3834,50 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_mov /* Module declarations from "numpy" */ -/* Module declarations from "blokus_gym.core.blokus_cython" */ -static PyObject *__pyx_v_10blokus_gym_4core_13blokus_cython__I1_squares = 0; -static PyObject *__pyx_v_10blokus_gym_4core_13blokus_cython__I2_squares = 0; -static PyObject *__pyx_v_10blokus_gym_4core_13blokus_cython__I3_squares = 0; -static PyObject *__pyx_v_10blokus_gym_4core_13blokus_cython__V3_squares = 0; -static PyObject *__pyx_v_10blokus_gym_4core_13blokus_cython__I4_squares = 0; -static PyObject *__pyx_v_10blokus_gym_4core_13blokus_cython__L4_squares = 0; -static PyObject *__pyx_v_10blokus_gym_4core_13blokus_cython__T4_squares = 0; -static PyObject *__pyx_v_10blokus_gym_4core_13blokus_cython__S4_squares = 0; -static PyObject *__pyx_v_10blokus_gym_4core_13blokus_cython__O4_squares = 0; -static PyObject *__pyx_v_10blokus_gym_4core_13blokus_cython__I5_squares = 0; -static PyObject *__pyx_v_10blokus_gym_4core_13blokus_cython__L5_squares = 0; -static PyObject *__pyx_v_10blokus_gym_4core_13blokus_cython__Y5_squares = 0; -static PyObject *__pyx_v_10blokus_gym_4core_13blokus_cython__N5_squares = 0; -static PyObject *__pyx_v_10blokus_gym_4core_13blokus_cython__T5_squares = 0; -static PyObject *__pyx_v_10blokus_gym_4core_13blokus_cython__U5_squares = 0; -static PyObject *__pyx_v_10blokus_gym_4core_13blokus_cython__V5_squares = 0; -static PyObject *__pyx_v_10blokus_gym_4core_13blokus_cython__W5_squares = 0; -static PyObject *__pyx_v_10blokus_gym_4core_13blokus_cython__Z5_squares = 0; -static PyObject *__pyx_v_10blokus_gym_4core_13blokus_cython__F5_squares = 0; -static PyObject *__pyx_v_10blokus_gym_4core_13blokus_cython__X5_squares = 0; -static PyObject *__pyx_v_10blokus_gym_4core_13blokus_cython__P5_squares = 0; -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_10blokus_gym_4core_13blokus_cython__I1 = 0; -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_10blokus_gym_4core_13blokus_cython__I2 = 0; -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_10blokus_gym_4core_13blokus_cython__I3 = 0; -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_10blokus_gym_4core_13blokus_cython__V3 = 0; -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_10blokus_gym_4core_13blokus_cython__I4 = 0; -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_10blokus_gym_4core_13blokus_cython__L4 = 0; -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_10blokus_gym_4core_13blokus_cython__T4 = 0; -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_10blokus_gym_4core_13blokus_cython__S4 = 0; -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_10blokus_gym_4core_13blokus_cython__O4 = 0; -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_10blokus_gym_4core_13blokus_cython__I5 = 0; -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_10blokus_gym_4core_13blokus_cython__L5 = 0; -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_10blokus_gym_4core_13blokus_cython__Y5 = 0; -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_10blokus_gym_4core_13blokus_cython__N5 = 0; -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_10blokus_gym_4core_13blokus_cython__T5 = 0; -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_10blokus_gym_4core_13blokus_cython__U5 = 0; -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_10blokus_gym_4core_13blokus_cython__V5 = 0; -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_10blokus_gym_4core_13blokus_cython__W5 = 0; -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_10blokus_gym_4core_13blokus_cython__Z5 = 0; -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_10blokus_gym_4core_13blokus_cython__F5 = 0; -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_10blokus_gym_4core_13blokus_cython__X5 = 0; -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_10blokus_gym_4core_13blokus_cython__P5 = 0; -static PyObject *__pyx_v_10blokus_gym_4core_13blokus_cython_STANDARD_PIECES = 0; +/* Module declarations from "blokus_cython" */ +static PyObject *__pyx_v_13blokus_cython__I1_squares = 0; +static PyObject *__pyx_v_13blokus_cython__I2_squares = 0; +static PyObject *__pyx_v_13blokus_cython__I3_squares = 0; +static PyObject *__pyx_v_13blokus_cython__V3_squares = 0; +static PyObject *__pyx_v_13blokus_cython__I4_squares = 0; +static PyObject *__pyx_v_13blokus_cython__L4_squares = 0; +static PyObject *__pyx_v_13blokus_cython__T4_squares = 0; +static PyObject *__pyx_v_13blokus_cython__S4_squares = 0; +static PyObject *__pyx_v_13blokus_cython__O4_squares = 0; +static PyObject *__pyx_v_13blokus_cython__I5_squares = 0; +static PyObject *__pyx_v_13blokus_cython__L5_squares = 0; +static PyObject *__pyx_v_13blokus_cython__Y5_squares = 0; +static PyObject *__pyx_v_13blokus_cython__N5_squares = 0; +static PyObject *__pyx_v_13blokus_cython__T5_squares = 0; +static PyObject *__pyx_v_13blokus_cython__U5_squares = 0; +static PyObject *__pyx_v_13blokus_cython__V5_squares = 0; +static PyObject *__pyx_v_13blokus_cython__W5_squares = 0; +static PyObject *__pyx_v_13blokus_cython__Z5_squares = 0; +static PyObject *__pyx_v_13blokus_cython__F5_squares = 0; +static PyObject *__pyx_v_13blokus_cython__X5_squares = 0; +static PyObject *__pyx_v_13blokus_cython__P5_squares = 0; +static struct __pyx_obj_13blokus_cython_Piece *__pyx_v_13blokus_cython__I1 = 0; +static struct __pyx_obj_13blokus_cython_Piece *__pyx_v_13blokus_cython__I2 = 0; +static struct __pyx_obj_13blokus_cython_Piece *__pyx_v_13blokus_cython__I3 = 0; +static struct __pyx_obj_13blokus_cython_Piece *__pyx_v_13blokus_cython__V3 = 0; +static struct __pyx_obj_13blokus_cython_Piece *__pyx_v_13blokus_cython__I4 = 0; +static struct __pyx_obj_13blokus_cython_Piece *__pyx_v_13blokus_cython__L4 = 0; +static struct __pyx_obj_13blokus_cython_Piece *__pyx_v_13blokus_cython__T4 = 0; +static struct __pyx_obj_13blokus_cython_Piece *__pyx_v_13blokus_cython__S4 = 0; +static struct __pyx_obj_13blokus_cython_Piece *__pyx_v_13blokus_cython__O4 = 0; +static struct __pyx_obj_13blokus_cython_Piece *__pyx_v_13blokus_cython__I5 = 0; +static struct __pyx_obj_13blokus_cython_Piece *__pyx_v_13blokus_cython__L5 = 0; +static struct __pyx_obj_13blokus_cython_Piece *__pyx_v_13blokus_cython__Y5 = 0; +static struct __pyx_obj_13blokus_cython_Piece *__pyx_v_13blokus_cython__N5 = 0; +static struct __pyx_obj_13blokus_cython_Piece *__pyx_v_13blokus_cython__T5 = 0; +static struct __pyx_obj_13blokus_cython_Piece *__pyx_v_13blokus_cython__U5 = 0; +static struct __pyx_obj_13blokus_cython_Piece *__pyx_v_13blokus_cython__V5 = 0; +static struct __pyx_obj_13blokus_cython_Piece *__pyx_v_13blokus_cython__W5 = 0; +static struct __pyx_obj_13blokus_cython_Piece *__pyx_v_13blokus_cython__Z5 = 0; +static struct __pyx_obj_13blokus_cython_Piece *__pyx_v_13blokus_cython__F5 = 0; +static struct __pyx_obj_13blokus_cython_Piece *__pyx_v_13blokus_cython__X5 = 0; +static struct __pyx_obj_13blokus_cython_Piece *__pyx_v_13blokus_cython__P5 = 0; +static PyObject *__pyx_v_13blokus_cython_STANDARD_PIECES = 0; static PyObject *__pyx_collections_abc_Sequence = 0; static PyObject *generic = 0; static PyObject *strided = 0; @@ -3882,17 +3886,17 @@ static PyObject *contiguous = 0; static PyObject *indirect_contiguous = 0; static int __pyx_memoryview_thread_locks_used; static PyThread_type_lock __pyx_memoryview_thread_locks[8]; -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_generate_orientations_cython(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *); /*proto*/ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_rotate_squares_cython(PyObject *, int); /*proto*/ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_normalize_squares_cython(PyObject *); /*proto*/ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_compute_corners_cython(PyObject *); /*proto*/ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Board__set_state(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *, PyObject *); /*proto*/ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Move__set_state(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *, PyObject *); /*proto*/ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_PieceOrientation__set_state(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *, PyObject *); /*proto*/ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Piece__set_state(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *, PyObject *); /*proto*/ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_PieceSet__set_state(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *, PyObject *); /*proto*/ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_PlayerState__set_state(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *, PyObject *); /*proto*/ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_BlokusGame__set_state(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *, PyObject *); /*proto*/ +static PyObject *__pyx_f_13blokus_cython_generate_orientations_cython(struct __pyx_obj_13blokus_cython_Piece *); /*proto*/ +static PyObject *__pyx_f_13blokus_cython_rotate_squares_cython(PyObject *, int); /*proto*/ +static PyObject *__pyx_f_13blokus_cython_normalize_squares_cython(PyObject *); /*proto*/ +static PyObject *__pyx_f_13blokus_cython_compute_corners_cython(PyObject *); /*proto*/ +static PyObject *__pyx_f_13blokus_cython___pyx_unpickle_Board__set_state(struct __pyx_obj_13blokus_cython_Board *, PyObject *); /*proto*/ +static PyObject *__pyx_f_13blokus_cython___pyx_unpickle_Move__set_state(struct __pyx_obj_13blokus_cython_Move *, PyObject *); /*proto*/ +static PyObject *__pyx_f_13blokus_cython___pyx_unpickle_PieceOrientation__set_state(struct __pyx_obj_13blokus_cython_PieceOrientation *, PyObject *); /*proto*/ +static PyObject *__pyx_f_13blokus_cython___pyx_unpickle_Piece__set_state(struct __pyx_obj_13blokus_cython_Piece *, PyObject *); /*proto*/ +static PyObject *__pyx_f_13blokus_cython___pyx_unpickle_PieceSet__set_state(struct __pyx_obj_13blokus_cython_PieceSet *, PyObject *); /*proto*/ +static PyObject *__pyx_f_13blokus_cython___pyx_unpickle_PlayerState__set_state(struct __pyx_obj_13blokus_cython_PlayerState *, PyObject *); /*proto*/ +static PyObject *__pyx_f_13blokus_cython___pyx_unpickle_BlokusGame__set_state(struct __pyx_obj_13blokus_cython_BlokusGame *, PyObject *); /*proto*/ static int __pyx_array_allocate_buffer(struct __pyx_array_obj *); /*proto*/ static struct __pyx_array_obj *__pyx_array_new(PyObject *, Py_ssize_t, char *, char const *, char *); /*proto*/ static PyObject *__pyx_memoryview_new(PyObject *, int, int, __Pyx_TypeInfo const *); /*proto*/ @@ -3929,11 +3933,11 @@ static PyObject *__pyx_unpickle_Enum__set_state(struct __pyx_MemviewEnum_obj *, /* #### Code section: typeinfo ### */ static const __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, __PYX_IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', __PYX_IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; /* #### Code section: before_global_var ### */ -#define __Pyx_MODULE_NAME "blokus_gym.core.blokus_cython" -extern int __pyx_module_is_main_blokus_gym__core__blokus_cython; -int __pyx_module_is_main_blokus_gym__core__blokus_cython = 0; +#define __Pyx_MODULE_NAME "blokus_cython" +extern int __pyx_module_is_main_blokus_cython; +int __pyx_module_is_main_blokus_cython = 0; -/* Implementation of "blokus_gym.core.blokus_cython" */ +/* Implementation of "blokus_cython" */ /* #### Code section: global_var ### */ static PyObject *__pyx_builtin_enumerate; static PyObject *__pyx_builtin_sum; @@ -3995,178 +3999,184 @@ static void __pyx_memoryviewslice___pyx_pf_15View_dot_MemoryView_16_memoryviewsl static PyObject *__pyx_pf___pyx_memoryviewslice___reduce_cython__(CYTHON_UNUSED struct __pyx_memoryviewslice_obj *__pyx_v_self); /* proto */ static PyObject *__pyx_pf___pyx_memoryviewslice_2__setstate_cython__(CYTHON_UNUSED struct __pyx_memoryviewslice_obj *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */ static PyObject *__pyx_pf_15View_dot_MemoryView___pyx_unpickle_Enum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board___init__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, int __pyx_v_size); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_2place(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, int __pyx_v_player_idx, PyObject *__pyx_v_squares); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4clear(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_6is_empty(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, int __pyx_v_x, int __pyx_v_y); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_8in_bounds(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, int __pyx_v_x, int __pyx_v_y); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_10has_overlap(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, PyObject *__pyx_v_squares); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_12get_cell(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, int __pyx_v_x, int __pyx_v_y); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_14get_player_squares(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, int __pyx_v_player_idx); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_16get_player_occupied(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, int __pyx_v_player_idx); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_18get_player_corners(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, int __pyx_v_player_idx); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_20get_occupied(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_22is_full(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_24coverage(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4size___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4size_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4grid___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4grid_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_15_occupied_cache___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_15_occupied_cache_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_15_occupied_cache_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_26__reduce_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_28__setstate_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move___init__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_self, int __pyx_v_piece_id, int __pyx_v_orientation_id, int __pyx_v_x, int __pyx_v_y); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_2__repr__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_8piece_id___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_8piece_id_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_14orientation_id___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_14orientation_id_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_1x___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_1x_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_1y___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_1y_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_4__reduce_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_6__setstate_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation___init__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_self, int __pyx_v_piece_id, int __pyx_v_orientation_id, PyObject *__pyx_v_squares, PyObject *__pyx_v_corners); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_8piece_id___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_8piece_id_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_14orientation_id___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_14orientation_id_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7squares___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7squares_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7squares_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7corners___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7corners_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7corners_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_2__reduce_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_4__setstate_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece___init__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_squares); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4size___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4name___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4name_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4name_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_7squares___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_7squares_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_7squares_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_2__reduce_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4__setstate_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_8__init___genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet___init__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_pieces_list); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_10num_pieces___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_2get_orientations(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self, int __pyx_v_piece_id); /* proto */ -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_4get_piece(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self, int __pyx_v_piece_id); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_6get_piece_id(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_name); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_6pieces___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_6pieces_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_6pieces_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_11piece_names___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_11piece_names_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_11piece_names_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12piece_id_map___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12piece_id_map_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12piece_id_map_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12orientations___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12orientations_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12orientations_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_16num_orientations___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_16num_orientations_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_8__reduce_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_10__setstate_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_24normalize_squares_cython_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_24normalize_squares_cython_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState___init__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_3idx___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_3idx_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_16available_pieces___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_16available_pieces_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_16available_pieces_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_7corners___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_7corners_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_7corners_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_5score___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_5score_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_11has_started___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_11has_started_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_8can_move___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_8can_move_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_2__reduce_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_4__setstate_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_board_size, struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_pieces, int __pyx_v_num_players, int __pyx_v_corner_rule); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_generate_action_space_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_generate_action_space_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_actions___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_2get_move(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_action); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_4get_action(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_move); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_8valid_move(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx, struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_move); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_10get_valid_actions(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_12has_valid_moves(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14apply_move(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx, struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_move); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_16play_move(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx, int __pyx_v_action); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_18next_player(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_check_game_over_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_check_game_over_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_20_check_game_over(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_22get_state(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_24copy(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_10board_size___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_10board_size_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_9piece_set___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_9piece_set_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_9piece_set_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_players___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_players_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11corner_rule___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11corner_rule_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_5board___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_5board_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_5board_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_7players___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_7players_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_7players_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14current_player___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14current_player_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6rounds___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6rounds_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_9game_over___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_9game_over_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_13_action_moves___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_13_action_moves_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_13_action_moves_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_15_move_to_action___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_15_move_to_action_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_15_move_to_action_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_actions_by_piece___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_actions_by_piece_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_actions_by_piece_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_starting_corners___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_starting_corners_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_starting_corners_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_26__reduce_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_28__setstate_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Board(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_2__pyx_unpickle_Move(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4__pyx_unpickle_PieceOrientation(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_6__pyx_unpickle_Piece(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8__pyx_unpickle_PieceSet(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10__pyx_unpickle_PlayerState(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_12__pyx_unpickle_BlokusGame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython_Board(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython_Move(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython_PieceOrientation(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython_Piece(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython_PieceSet(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython_PlayerState(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython_BlokusGame(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static int __pyx_pf_13blokus_cython_5Board___init__(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, int __pyx_v_size); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_5Board_2place(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, int __pyx_v_player_idx, PyObject *__pyx_v_squares); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_5Board_4clear(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_5Board_6is_empty(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, int __pyx_v_x, int __pyx_v_y); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_5Board_8in_bounds(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, int __pyx_v_x, int __pyx_v_y); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_5Board_10has_overlap(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, PyObject *__pyx_v_squares); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_5Board_12get_cell(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, int __pyx_v_x, int __pyx_v_y); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_5Board_14get_player_squares(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, int __pyx_v_player_idx); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_5Board_16get_player_occupied(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, int __pyx_v_player_idx); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_5Board_18get_player_corners(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, int __pyx_v_player_idx); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_5Board_20get_occupied(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_5Board_22is_full(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_5Board_24coverage(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_5Board_4size___get__(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_5Board_4size_2__set__(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_5Board_4grid___get__(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_5Board_4grid_2__set__(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_5Board_15_occupied_cache___get__(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_5Board_15_occupied_cache_2__set__(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_13blokus_cython_5Board_15_occupied_cache_4__del__(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_5Board_26__reduce_cython__(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_5Board_28__setstate_cython__(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ +static int __pyx_pf_13blokus_cython_4Move___init__(struct __pyx_obj_13blokus_cython_Move *__pyx_v_self, int __pyx_v_piece_id, int __pyx_v_orientation_id, int __pyx_v_x, int __pyx_v_y); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_4Move_2__repr__(struct __pyx_obj_13blokus_cython_Move *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_4Move_8piece_id___get__(struct __pyx_obj_13blokus_cython_Move *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_4Move_8piece_id_2__set__(struct __pyx_obj_13blokus_cython_Move *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_4Move_14orientation_id___get__(struct __pyx_obj_13blokus_cython_Move *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_4Move_14orientation_id_2__set__(struct __pyx_obj_13blokus_cython_Move *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_4Move_1x___get__(struct __pyx_obj_13blokus_cython_Move *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_4Move_1x_2__set__(struct __pyx_obj_13blokus_cython_Move *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_4Move_1y___get__(struct __pyx_obj_13blokus_cython_Move *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_4Move_1y_2__set__(struct __pyx_obj_13blokus_cython_Move *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_4Move_4__reduce_cython__(struct __pyx_obj_13blokus_cython_Move *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_4Move_6__setstate_cython__(struct __pyx_obj_13blokus_cython_Move *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ +static int __pyx_pf_13blokus_cython_16PieceOrientation___init__(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_self, int __pyx_v_piece_id, int __pyx_v_orientation_id, PyObject *__pyx_v_squares, PyObject *__pyx_v_corners); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_16PieceOrientation_8piece_id___get__(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_16PieceOrientation_8piece_id_2__set__(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_16PieceOrientation_14orientation_id___get__(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_16PieceOrientation_14orientation_id_2__set__(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_16PieceOrientation_7squares___get__(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_16PieceOrientation_7squares_2__set__(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_13blokus_cython_16PieceOrientation_7squares_4__del__(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_16PieceOrientation_7corners___get__(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_16PieceOrientation_7corners_2__set__(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_13blokus_cython_16PieceOrientation_7corners_4__del__(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_16PieceOrientation_2__reduce_cython__(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_16PieceOrientation_4__setstate_cython__(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ +static int __pyx_pf_13blokus_cython_5Piece___init__(struct __pyx_obj_13blokus_cython_Piece *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_squares); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_5Piece_4size___get__(struct __pyx_obj_13blokus_cython_Piece *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_5Piece_4name___get__(struct __pyx_obj_13blokus_cython_Piece *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_5Piece_4name_2__set__(struct __pyx_obj_13blokus_cython_Piece *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_13blokus_cython_5Piece_4name_4__del__(struct __pyx_obj_13blokus_cython_Piece *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_5Piece_7squares___get__(struct __pyx_obj_13blokus_cython_Piece *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_5Piece_7squares_2__set__(struct __pyx_obj_13blokus_cython_Piece *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_13blokus_cython_5Piece_7squares_4__del__(struct __pyx_obj_13blokus_cython_Piece *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_5Piece_2__reduce_cython__(struct __pyx_obj_13blokus_cython_Piece *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_5Piece_4__setstate_cython__(struct __pyx_obj_13blokus_cython_Piece *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_8PieceSet_8__init___genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */ +static int __pyx_pf_13blokus_cython_8PieceSet___init__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_pieces_list); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_8PieceSet_10num_pieces___get__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_8PieceSet_2get_orientations(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self, int __pyx_v_piece_id); /* proto */ +static struct __pyx_obj_13blokus_cython_Piece *__pyx_pf_13blokus_cython_8PieceSet_4get_piece(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self, int __pyx_v_piece_id); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_8PieceSet_6get_piece_id(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_name); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_8PieceSet_6pieces___get__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_8PieceSet_6pieces_2__set__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_13blokus_cython_8PieceSet_6pieces_4__del__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_8PieceSet_11piece_names___get__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_8PieceSet_11piece_names_2__set__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_13blokus_cython_8PieceSet_11piece_names_4__del__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_8PieceSet_12piece_id_map___get__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_8PieceSet_12piece_id_map_2__set__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_13blokus_cython_8PieceSet_12piece_id_map_4__del__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_8PieceSet_12orientations___get__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_8PieceSet_12orientations_2__set__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_13blokus_cython_8PieceSet_12orientations_4__del__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_8PieceSet_16num_orientations___get__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_8PieceSet_16num_orientations_2__set__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_8PieceSet_8__reduce_cython__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_8PieceSet_10__setstate_cython__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_get_standard_pieces(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_24normalize_squares_cython_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_24normalize_squares_cython_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */ +static int __pyx_pf_13blokus_cython_11PlayerState___init__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_11PlayerState_3idx___get__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_11PlayerState_3idx_2__set__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_11PlayerState_16available_pieces___get__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_11PlayerState_16available_pieces_2__set__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_13blokus_cython_11PlayerState_16available_pieces_4__del__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_11PlayerState_7corners___get__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_11PlayerState_7corners_2__set__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_13blokus_cython_11PlayerState_7corners_4__del__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_11PlayerState_5score___get__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_11PlayerState_5score_2__set__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_11PlayerState_11has_started___get__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_11PlayerState_11has_started_2__set__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_11PlayerState_8can_move___get__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_11PlayerState_8can_move_2__set__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_11PlayerState_2__reduce_cython__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_11PlayerState_4__setstate_cython__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ +static int __pyx_pf_13blokus_cython_10BlokusGame___init__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_board_size, struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_pieces, int __pyx_v_num_players, int __pyx_v_corner_rule); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_22_generate_action_space_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_22_generate_action_space_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_11num_actions___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static struct __pyx_obj_13blokus_cython_Move *__pyx_pf_13blokus_cython_10BlokusGame_2get_move(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_action); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_4get_action(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, struct __pyx_obj_13blokus_cython_Move *__pyx_v_move); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_6reset(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_8get_placed_squares(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, struct __pyx_obj_13blokus_cython_Move *__pyx_v_move); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_10get_placed_corners(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, struct __pyx_obj_13blokus_cython_Move *__pyx_v_move); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_12valid_move(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx, struct __pyx_obj_13blokus_cython_Move *__pyx_v_move); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_14get_valid_actions(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_16has_valid_moves(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_18apply_move(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx, struct __pyx_obj_13blokus_cython_Move *__pyx_v_move); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_20play_move(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx, int __pyx_v_action); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_22next_player(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_16_check_game_over_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_16_check_game_over_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_24_check_game_over(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_26is_game_over(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_28get_scores(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_30get_winners(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_32get_state(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_pf_13blokus_cython_10BlokusGame_34copy(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_10board_size___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_10BlokusGame_10board_size_2__set__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_9piece_set___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_10BlokusGame_9piece_set_2__set__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_13blokus_cython_10BlokusGame_9piece_set_4__del__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_11num_players___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_10BlokusGame_11num_players_2__set__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_11corner_rule___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_10BlokusGame_11corner_rule_2__set__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_5board___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_10BlokusGame_5board_2__set__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_13blokus_cython_10BlokusGame_5board_4__del__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_7players___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_10BlokusGame_7players_2__set__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_13blokus_cython_10BlokusGame_7players_4__del__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_14current_player___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_10BlokusGame_14current_player_2__set__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_6rounds___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_10BlokusGame_6rounds_2__set__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_9game_over___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_10BlokusGame_9game_over_2__set__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_13_action_moves___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_10BlokusGame_13_action_moves_2__set__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_13blokus_cython_10BlokusGame_13_action_moves_4__del__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_15_move_to_action___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_10BlokusGame_15_move_to_action_2__set__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_13blokus_cython_10BlokusGame_15_move_to_action_4__del__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_17_actions_by_piece___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_10BlokusGame_17_actions_by_piece_2__set__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_13blokus_cython_10BlokusGame_17_actions_by_piece_4__del__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_17_starting_corners___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static int __pyx_pf_13blokus_cython_10BlokusGame_17_starting_corners_2__set__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_13blokus_cython_10BlokusGame_17_starting_corners_4__del__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_36__reduce_cython__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_38__setstate_cython__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_2__pyx_unpickle_Board(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_4__pyx_unpickle_Move(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_6__pyx_unpickle_PieceOrientation(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_8__pyx_unpickle_Piece(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_10__pyx_unpickle_PieceSet(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_12__pyx_unpickle_PlayerState(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_13blokus_cython_14__pyx_unpickle_BlokusGame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_tp_new_13blokus_cython_Board(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_13blokus_cython_Move(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_13blokus_cython_PieceOrientation(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_13blokus_cython_Piece(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_13blokus_cython_PieceSet(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_13blokus_cython_PlayerState(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_13blokus_cython_BlokusGame(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_13blokus_cython___pyx_scope_struct__genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_13blokus_cython___pyx_scope_struct_1_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_13blokus_cython___pyx_scope_struct_2_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_13blokus_cython___pyx_scope_struct_3_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_13blokus_cython___pyx_scope_struct_4_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_13blokus_cython___pyx_scope_struct_5_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_13blokus_cython___pyx_scope_struct_6_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_array(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_Enum(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_memoryview(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ @@ -4207,38 +4217,38 @@ typedef struct { PyTypeObject *__pyx_ptype_5numpy_flexible; PyTypeObject *__pyx_ptype_5numpy_character; PyTypeObject *__pyx_ptype_5numpy_ufunc; - PyObject *__pyx_type_10blokus_gym_4core_13blokus_cython_Board; - PyObject *__pyx_type_10blokus_gym_4core_13blokus_cython_Move; - PyObject *__pyx_type_10blokus_gym_4core_13blokus_cython_PieceOrientation; - PyObject *__pyx_type_10blokus_gym_4core_13blokus_cython_Piece; - PyObject *__pyx_type_10blokus_gym_4core_13blokus_cython_PieceSet; - PyObject *__pyx_type_10blokus_gym_4core_13blokus_cython_PlayerState; - PyObject *__pyx_type_10blokus_gym_4core_13blokus_cython_BlokusGame; - PyObject *__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr; - PyObject *__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr; - PyObject *__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr; - PyObject *__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr; - PyObject *__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr; - PyObject *__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr; - PyObject *__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr; + PyObject *__pyx_type_13blokus_cython_Board; + PyObject *__pyx_type_13blokus_cython_Move; + PyObject *__pyx_type_13blokus_cython_PieceOrientation; + PyObject *__pyx_type_13blokus_cython_Piece; + PyObject *__pyx_type_13blokus_cython_PieceSet; + PyObject *__pyx_type_13blokus_cython_PlayerState; + PyObject *__pyx_type_13blokus_cython_BlokusGame; + PyObject *__pyx_type_13blokus_cython___pyx_scope_struct__genexpr; + PyObject *__pyx_type_13blokus_cython___pyx_scope_struct_1_genexpr; + PyObject *__pyx_type_13blokus_cython___pyx_scope_struct_2_genexpr; + PyObject *__pyx_type_13blokus_cython___pyx_scope_struct_3_genexpr; + PyObject *__pyx_type_13blokus_cython___pyx_scope_struct_4_genexpr; + PyObject *__pyx_type_13blokus_cython___pyx_scope_struct_5_genexpr; + PyObject *__pyx_type_13blokus_cython___pyx_scope_struct_6_genexpr; PyObject *__pyx_type___pyx_array; PyObject *__pyx_type___pyx_MemviewEnum; PyObject *__pyx_type___pyx_memoryview; PyObject *__pyx_type___pyx_memoryviewslice; - PyTypeObject *__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board; - PyTypeObject *__pyx_ptype_10blokus_gym_4core_13blokus_cython_Move; - PyTypeObject *__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceOrientation; - PyTypeObject *__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece; - PyTypeObject *__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceSet; - PyTypeObject *__pyx_ptype_10blokus_gym_4core_13blokus_cython_PlayerState; - PyTypeObject *__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame; - PyTypeObject *__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr; - PyTypeObject *__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr; - PyTypeObject *__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr; - PyTypeObject *__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr; - PyTypeObject *__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr; - PyTypeObject *__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr; - PyTypeObject *__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr; + PyTypeObject *__pyx_ptype_13blokus_cython_Board; + PyTypeObject *__pyx_ptype_13blokus_cython_Move; + PyTypeObject *__pyx_ptype_13blokus_cython_PieceOrientation; + PyTypeObject *__pyx_ptype_13blokus_cython_Piece; + PyTypeObject *__pyx_ptype_13blokus_cython_PieceSet; + PyTypeObject *__pyx_ptype_13blokus_cython_PlayerState; + PyTypeObject *__pyx_ptype_13blokus_cython_BlokusGame; + PyTypeObject *__pyx_ptype_13blokus_cython___pyx_scope_struct__genexpr; + PyTypeObject *__pyx_ptype_13blokus_cython___pyx_scope_struct_1_genexpr; + PyTypeObject *__pyx_ptype_13blokus_cython___pyx_scope_struct_2_genexpr; + PyTypeObject *__pyx_ptype_13blokus_cython___pyx_scope_struct_3_genexpr; + PyTypeObject *__pyx_ptype_13blokus_cython___pyx_scope_struct_4_genexpr; + PyTypeObject *__pyx_ptype_13blokus_cython___pyx_scope_struct_5_genexpr; + PyTypeObject *__pyx_ptype_13blokus_cython___pyx_scope_struct_6_genexpr; PyTypeObject *__pyx_array_type; PyTypeObject *__pyx_MemviewEnum_type; PyTypeObject *__pyx_memoryview_type; @@ -4248,44 +4258,44 @@ typedef struct { __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_values; PyObject *__pyx_slice[1]; PyObject *__pyx_tuple[41]; - PyObject *__pyx_codeobj_tab[55]; - PyObject *__pyx_string_tab[348]; + PyObject *__pyx_codeobj_tab[61]; + PyObject *__pyx_string_tab[370]; PyObject *__pyx_number_tab[14]; /* #### Code section: module_state_contents ### */ #if CYTHON_USE_FREELISTS -struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr *__pyx_freelist_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr[8]; -int __pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr; +struct __pyx_obj_13blokus_cython___pyx_scope_struct__genexpr *__pyx_freelist_13blokus_cython___pyx_scope_struct__genexpr[8]; +int __pyx_freecount_13blokus_cython___pyx_scope_struct__genexpr; #endif #if CYTHON_USE_FREELISTS -struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr *__pyx_freelist_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr[8]; -int __pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr; +struct __pyx_obj_13blokus_cython___pyx_scope_struct_1_genexpr *__pyx_freelist_13blokus_cython___pyx_scope_struct_1_genexpr[8]; +int __pyx_freecount_13blokus_cython___pyx_scope_struct_1_genexpr; #endif #if CYTHON_USE_FREELISTS -struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr *__pyx_freelist_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr[8]; -int __pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr; +struct __pyx_obj_13blokus_cython___pyx_scope_struct_2_genexpr *__pyx_freelist_13blokus_cython___pyx_scope_struct_2_genexpr[8]; +int __pyx_freecount_13blokus_cython___pyx_scope_struct_2_genexpr; #endif #if CYTHON_USE_FREELISTS -struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr *__pyx_freelist_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr[8]; -int __pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr; +struct __pyx_obj_13blokus_cython___pyx_scope_struct_3_genexpr *__pyx_freelist_13blokus_cython___pyx_scope_struct_3_genexpr[8]; +int __pyx_freecount_13blokus_cython___pyx_scope_struct_3_genexpr; #endif #if CYTHON_USE_FREELISTS -struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr *__pyx_freelist_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr[8]; -int __pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr; +struct __pyx_obj_13blokus_cython___pyx_scope_struct_4_genexpr *__pyx_freelist_13blokus_cython___pyx_scope_struct_4_genexpr[8]; +int __pyx_freecount_13blokus_cython___pyx_scope_struct_4_genexpr; #endif #if CYTHON_USE_FREELISTS -struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr *__pyx_freelist_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr[8]; -int __pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr; +struct __pyx_obj_13blokus_cython___pyx_scope_struct_5_genexpr *__pyx_freelist_13blokus_cython___pyx_scope_struct_5_genexpr[8]; +int __pyx_freecount_13blokus_cython___pyx_scope_struct_5_genexpr; #endif #if CYTHON_USE_FREELISTS -struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr *__pyx_freelist_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr[8]; -int __pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr; +struct __pyx_obj_13blokus_cython___pyx_scope_struct_6_genexpr *__pyx_freelist_13blokus_cython___pyx_scope_struct_6_genexpr[8]; +int __pyx_freecount_13blokus_cython___pyx_scope_struct_6_genexpr; #endif /* CommonTypesMetaclass.module_state_decls */ PyTypeObject *__pyx_CommonTypesMetaclassType; @@ -4361,7 +4371,7 @@ static __pyx_mstatetype * const __pyx_mstate_global = &__pyx_mstate_global_stati #define __pyx_kp_u_add_note __pyx_string_tab[24] #define __pyx_kp_u_and __pyx_string_tab[25] #define __pyx_kp_u_at_0x __pyx_string_tab[26] -#define __pyx_kp_u_blokus_gym_core_blokus_cython_py __pyx_string_tab[27] +#define __pyx_kp_u_blokus_cython_pyx __pyx_string_tab[27] #define __pyx_kp_u_collections_abc __pyx_string_tab[28] #define __pyx_kp_u_contiguous_and_direct __pyx_string_tab[29] #define __pyx_kp_u_contiguous_and_indirect __pyx_string_tab[30] @@ -4372,316 +4382,338 @@ static __pyx_mstatetype * const __pyx_mstate_global = &__pyx_mstate_global_stati #define __pyx_kp_u_got_differing_extents_in_dimensi __pyx_string_tab[35] #define __pyx_kp_u_isenabled __pyx_string_tab[36] #define __pyx_kp_u_itemsize_0_for_cython_array __pyx_string_tab[37] -#define __pyx_kp_u_no_default___reduce___due_to_non __pyx_string_tab[38] -#define __pyx_kp_u_numpy__core_multiarray_failed_to __pyx_string_tab[39] -#define __pyx_kp_u_numpy__core_umath_failed_to_impo __pyx_string_tab[40] -#define __pyx_kp_u_object __pyx_string_tab[41] -#define __pyx_kp_u_orient __pyx_string_tab[42] -#define __pyx_kp_u_pos __pyx_string_tab[43] -#define __pyx_kp_u_strided_and_direct __pyx_string_tab[44] -#define __pyx_kp_u_strided_and_direct_or_indirect __pyx_string_tab[45] -#define __pyx_kp_u_strided_and_indirect __pyx_string_tab[46] -#define __pyx_kp_u_stringsource __pyx_string_tab[47] -#define __pyx_kp_u_unable_to_allocate_array_data __pyx_string_tab[48] -#define __pyx_kp_u_unable_to_allocate_shape_and_str __pyx_string_tab[49] -#define __pyx_n_u_ASCII __pyx_string_tab[50] -#define __pyx_n_u_BlokusGame __pyx_string_tab[51] -#define __pyx_n_u_BlokusGame___reduce_cython __pyx_string_tab[52] -#define __pyx_n_u_BlokusGame___setstate_cython __pyx_string_tab[53] -#define __pyx_n_u_BlokusGame__check_game_over __pyx_string_tab[54] -#define __pyx_n_u_BlokusGame__generate_action_spac __pyx_string_tab[55] -#define __pyx_n_u_BlokusGame_apply_move __pyx_string_tab[56] -#define __pyx_n_u_BlokusGame_copy __pyx_string_tab[57] -#define __pyx_n_u_BlokusGame_get_action __pyx_string_tab[58] -#define __pyx_n_u_BlokusGame_get_move __pyx_string_tab[59] -#define __pyx_n_u_BlokusGame_get_state __pyx_string_tab[60] -#define __pyx_n_u_BlokusGame_get_valid_actions __pyx_string_tab[61] -#define __pyx_n_u_BlokusGame_has_valid_moves __pyx_string_tab[62] -#define __pyx_n_u_BlokusGame_next_player __pyx_string_tab[63] -#define __pyx_n_u_BlokusGame_play_move __pyx_string_tab[64] -#define __pyx_n_u_BlokusGame_reset __pyx_string_tab[65] -#define __pyx_n_u_BlokusGame_valid_move __pyx_string_tab[66] -#define __pyx_n_u_Board __pyx_string_tab[67] -#define __pyx_n_u_Board___reduce_cython __pyx_string_tab[68] -#define __pyx_n_u_Board___setstate_cython __pyx_string_tab[69] -#define __pyx_n_u_Board_clear __pyx_string_tab[70] -#define __pyx_n_u_Board_coverage __pyx_string_tab[71] -#define __pyx_n_u_Board_get_cell __pyx_string_tab[72] -#define __pyx_n_u_Board_get_occupied __pyx_string_tab[73] -#define __pyx_n_u_Board_get_player_corners __pyx_string_tab[74] -#define __pyx_n_u_Board_get_player_occupied __pyx_string_tab[75] -#define __pyx_n_u_Board_get_player_squares __pyx_string_tab[76] -#define __pyx_n_u_Board_has_overlap __pyx_string_tab[77] -#define __pyx_n_u_Board_in_bounds __pyx_string_tab[78] -#define __pyx_n_u_Board_is_empty __pyx_string_tab[79] -#define __pyx_n_u_Board_is_full __pyx_string_tab[80] -#define __pyx_n_u_Board_place __pyx_string_tab[81] -#define __pyx_n_u_Ellipsis __pyx_string_tab[82] -#define __pyx_n_u_F5 __pyx_string_tab[83] -#define __pyx_n_u_I1 __pyx_string_tab[84] -#define __pyx_n_u_I2 __pyx_string_tab[85] -#define __pyx_n_u_I3 __pyx_string_tab[86] -#define __pyx_n_u_I4 __pyx_string_tab[87] -#define __pyx_n_u_I5 __pyx_string_tab[88] -#define __pyx_n_u_L4 __pyx_string_tab[89] -#define __pyx_n_u_L5 __pyx_string_tab[90] -#define __pyx_n_u_Move __pyx_string_tab[91] -#define __pyx_n_u_Move___reduce_cython __pyx_string_tab[92] -#define __pyx_n_u_Move___setstate_cython __pyx_string_tab[93] -#define __pyx_n_u_N5 __pyx_string_tab[94] -#define __pyx_n_u_None __pyx_string_tab[95] -#define __pyx_n_u_O4 __pyx_string_tab[96] -#define __pyx_n_u_P5 __pyx_string_tab[97] -#define __pyx_n_u_Piece __pyx_string_tab[98] -#define __pyx_n_u_PieceOrientation __pyx_string_tab[99] -#define __pyx_n_u_PieceOrientation___reduce_cython __pyx_string_tab[100] -#define __pyx_n_u_PieceOrientation___setstate_cyth __pyx_string_tab[101] -#define __pyx_n_u_PieceSet __pyx_string_tab[102] -#define __pyx_n_u_PieceSet___reduce_cython __pyx_string_tab[103] -#define __pyx_n_u_PieceSet___setstate_cython __pyx_string_tab[104] -#define __pyx_n_u_PieceSet_get_orientations __pyx_string_tab[105] -#define __pyx_n_u_PieceSet_get_piece __pyx_string_tab[106] -#define __pyx_n_u_PieceSet_get_piece_id __pyx_string_tab[107] -#define __pyx_n_u_Piece___reduce_cython __pyx_string_tab[108] -#define __pyx_n_u_Piece___setstate_cython __pyx_string_tab[109] -#define __pyx_n_u_PlayerState __pyx_string_tab[110] -#define __pyx_n_u_PlayerState___reduce_cython __pyx_string_tab[111] -#define __pyx_n_u_PlayerState___setstate_cython __pyx_string_tab[112] -#define __pyx_n_u_Pyx_PyDict_NextRef __pyx_string_tab[113] -#define __pyx_n_u_S4 __pyx_string_tab[114] -#define __pyx_n_u_Sequence __pyx_string_tab[115] -#define __pyx_n_u_T4 __pyx_string_tab[116] -#define __pyx_n_u_T5 __pyx_string_tab[117] -#define __pyx_n_u_U5 __pyx_string_tab[118] -#define __pyx_n_u_V3 __pyx_string_tab[119] -#define __pyx_n_u_V5 __pyx_string_tab[120] -#define __pyx_n_u_View_MemoryView __pyx_string_tab[121] -#define __pyx_n_u_W5 __pyx_string_tab[122] -#define __pyx_n_u_X5 __pyx_string_tab[123] -#define __pyx_n_u_Y5 __pyx_string_tab[124] -#define __pyx_n_u_Z5 __pyx_string_tab[125] -#define __pyx_n_u__10 __pyx_string_tab[126] -#define __pyx_n_u_abc __pyx_string_tab[127] -#define __pyx_n_u_action __pyx_string_tab[128] -#define __pyx_n_u_allocate_buffer __pyx_string_tab[129] -#define __pyx_n_u_annotate __pyx_string_tab[130] -#define __pyx_n_u_apply_move __pyx_string_tab[131] -#define __pyx_n_u_asyncio_coroutines __pyx_string_tab[132] -#define __pyx_n_u_available_pieces __pyx_string_tab[133] -#define __pyx_n_u_base __pyx_string_tab[134] -#define __pyx_n_u_bint __pyx_string_tab[135] -#define __pyx_n_u_blokus_gym_core_blokus_cython __pyx_string_tab[136] -#define __pyx_n_u_board_size __pyx_string_tab[137] -#define __pyx_n_u_bool __pyx_string_tab[138] -#define __pyx_n_u_c __pyx_string_tab[139] -#define __pyx_n_u_can_move __pyx_string_tab[140] -#define __pyx_n_u_check_game_over __pyx_string_tab[141] -#define __pyx_n_u_check_game_over_locals_genexpr __pyx_string_tab[142] -#define __pyx_n_u_class __pyx_string_tab[143] -#define __pyx_n_u_class_getitem __pyx_string_tab[144] -#define __pyx_n_u_clear __pyx_string_tab[145] -#define __pyx_n_u_cline_in_traceback __pyx_string_tab[146] -#define __pyx_n_u_close __pyx_string_tab[147] -#define __pyx_n_u_copy __pyx_string_tab[148] -#define __pyx_n_u_corner_rule __pyx_string_tab[149] -#define __pyx_n_u_corners __pyx_string_tab[150] -#define __pyx_n_u_count __pyx_string_tab[151] -#define __pyx_n_u_coverage __pyx_string_tab[152] -#define __pyx_n_u_current_player __pyx_string_tab[153] -#define __pyx_n_u_cx __pyx_string_tab[154] -#define __pyx_n_u_cy __pyx_string_tab[155] -#define __pyx_n_u_dict __pyx_string_tab[156] -#define __pyx_n_u_dict_2 __pyx_string_tab[157] -#define __pyx_n_u_dict_3 __pyx_string_tab[158] -#define __pyx_n_u_dtype __pyx_string_tab[159] -#define __pyx_n_u_dtype_is_object __pyx_string_tab[160] -#define __pyx_n_u_dx __pyx_string_tab[161] -#define __pyx_n_u_dy __pyx_string_tab[162] -#define __pyx_n_u_encode __pyx_string_tab[163] -#define __pyx_n_u_enumerate __pyx_string_tab[164] -#define __pyx_n_u_error __pyx_string_tab[165] -#define __pyx_n_u_fill __pyx_string_tab[166] -#define __pyx_n_u_flags __pyx_string_tab[167] -#define __pyx_n_u_float __pyx_string_tab[168] -#define __pyx_n_u_format __pyx_string_tab[169] -#define __pyx_n_u_fortran __pyx_string_tab[170] -#define __pyx_n_u_func __pyx_string_tab[171] -#define __pyx_n_u_game_over __pyx_string_tab[172] -#define __pyx_n_u_genexpr __pyx_string_tab[173] -#define __pyx_n_u_get_action __pyx_string_tab[174] -#define __pyx_n_u_get_cell __pyx_string_tab[175] -#define __pyx_n_u_get_move __pyx_string_tab[176] -#define __pyx_n_u_get_occupied __pyx_string_tab[177] -#define __pyx_n_u_get_orientations __pyx_string_tab[178] -#define __pyx_n_u_get_piece __pyx_string_tab[179] -#define __pyx_n_u_get_piece_id __pyx_string_tab[180] -#define __pyx_n_u_get_player_corners __pyx_string_tab[181] -#define __pyx_n_u_get_player_occupied __pyx_string_tab[182] -#define __pyx_n_u_get_player_squares __pyx_string_tab[183] -#define __pyx_n_u_get_state __pyx_string_tab[184] -#define __pyx_n_u_get_valid_actions __pyx_string_tab[185] -#define __pyx_n_u_getstate __pyx_string_tab[186] -#define __pyx_n_u_grid_view __pyx_string_tab[187] -#define __pyx_n_u_has_overlap __pyx_string_tab[188] -#define __pyx_n_u_has_started __pyx_string_tab[189] -#define __pyx_n_u_has_valid_moves __pyx_string_tab[190] -#define __pyx_n_u_i __pyx_string_tab[191] -#define __pyx_n_u_id __pyx_string_tab[192] -#define __pyx_n_u_idx __pyx_string_tab[193] -#define __pyx_n_u_import __pyx_string_tab[194] -#define __pyx_n_u_in_bounds __pyx_string_tab[195] -#define __pyx_n_u_index __pyx_string_tab[196] -#define __pyx_n_u_init___locals_genexpr __pyx_string_tab[197] -#define __pyx_n_u_int __pyx_string_tab[198] -#define __pyx_n_u_int8 __pyx_string_tab[199] -#define __pyx_n_u_is_coroutine __pyx_string_tab[200] -#define __pyx_n_u_is_empty __pyx_string_tab[201] -#define __pyx_n_u_is_full __pyx_string_tab[202] -#define __pyx_n_u_items __pyx_string_tab[203] -#define __pyx_n_u_itemsize __pyx_string_tab[204] -#define __pyx_n_u_list __pyx_string_tab[205] -#define __pyx_n_u_main __pyx_string_tab[206] -#define __pyx_n_u_max __pyx_string_tab[207] -#define __pyx_n_u_memview __pyx_string_tab[208] -#define __pyx_n_u_min __pyx_string_tab[209] -#define __pyx_n_u_mode __pyx_string_tab[210] -#define __pyx_n_u_module __pyx_string_tab[211] -#define __pyx_n_u_move __pyx_string_tab[212] -#define __pyx_n_u_name __pyx_string_tab[213] -#define __pyx_n_u_name_2 __pyx_string_tab[214] -#define __pyx_n_u_ndim __pyx_string_tab[215] -#define __pyx_n_u_new __pyx_string_tab[216] -#define __pyx_n_u_new_game __pyx_string_tab[217] -#define __pyx_n_u_next __pyx_string_tab[218] -#define __pyx_n_u_next_idx __pyx_string_tab[219] -#define __pyx_n_u_next_player __pyx_string_tab[220] -#define __pyx_n_u_normalize_squares_cython_locals __pyx_string_tab[221] -#define __pyx_n_u_np __pyx_string_tab[222] -#define __pyx_n_u_num_actions __pyx_string_tab[223] -#define __pyx_n_u_num_pieces __pyx_string_tab[224] -#define __pyx_n_u_num_players __pyx_string_tab[225] -#define __pyx_n_u_numpy __pyx_string_tab[226] -#define __pyx_n_u_o __pyx_string_tab[227] -#define __pyx_n_u_obj __pyx_string_tab[228] -#define __pyx_n_u_offset __pyx_string_tab[229] -#define __pyx_n_u_orientation_id __pyx_string_tab[230] -#define __pyx_n_u_p __pyx_string_tab[231] -#define __pyx_n_u_pack __pyx_string_tab[232] -#define __pyx_n_u_piece __pyx_string_tab[233] -#define __pyx_n_u_piece_id __pyx_string_tab[234] -#define __pyx_n_u_pieces __pyx_string_tab[235] -#define __pyx_n_u_pieces_list __pyx_string_tab[236] -#define __pyx_n_u_place __pyx_string_tab[237] -#define __pyx_n_u_placed_corners __pyx_string_tab[238] -#define __pyx_n_u_placed_squares __pyx_string_tab[239] -#define __pyx_n_u_play_move __pyx_string_tab[240] -#define __pyx_n_u_player __pyx_string_tab[241] -#define __pyx_n_u_player_idx __pyx_string_tab[242] -#define __pyx_n_u_player_squares __pyx_string_tab[243] -#define __pyx_n_u_players __pyx_string_tab[244] -#define __pyx_n_u_pop __pyx_string_tab[245] -#define __pyx_n_u_pyx_checksum __pyx_string_tab[246] -#define __pyx_n_u_pyx_result __pyx_string_tab[247] -#define __pyx_n_u_pyx_state __pyx_string_tab[248] -#define __pyx_n_u_pyx_type __pyx_string_tab[249] -#define __pyx_n_u_pyx_unpickle_BlokusGame __pyx_string_tab[250] -#define __pyx_n_u_pyx_unpickle_Board __pyx_string_tab[251] -#define __pyx_n_u_pyx_unpickle_Enum __pyx_string_tab[252] -#define __pyx_n_u_pyx_unpickle_Move __pyx_string_tab[253] -#define __pyx_n_u_pyx_unpickle_Piece __pyx_string_tab[254] -#define __pyx_n_u_pyx_unpickle_PieceOrientation __pyx_string_tab[255] -#define __pyx_n_u_pyx_unpickle_PieceSet __pyx_string_tab[256] -#define __pyx_n_u_pyx_unpickle_PlayerState __pyx_string_tab[257] -#define __pyx_n_u_pyx_vtable __pyx_string_tab[258] -#define __pyx_n_u_qualname __pyx_string_tab[259] -#define __pyx_n_u_reduce __pyx_string_tab[260] -#define __pyx_n_u_reduce_cython __pyx_string_tab[261] -#define __pyx_n_u_reduce_ex __pyx_string_tab[262] -#define __pyx_n_u_register __pyx_string_tab[263] -#define __pyx_n_u_reset __pyx_string_tab[264] -#define __pyx_n_u_result __pyx_string_tab[265] -#define __pyx_n_u_return __pyx_string_tab[266] -#define __pyx_n_u_rounds __pyx_string_tab[267] -#define __pyx_n_u_score __pyx_string_tab[268] -#define __pyx_n_u_self __pyx_string_tab[269] -#define __pyx_n_u_send __pyx_string_tab[270] -#define __pyx_n_u_set __pyx_string_tab[271] -#define __pyx_n_u_set_name __pyx_string_tab[272] -#define __pyx_n_u_setdefault __pyx_string_tab[273] -#define __pyx_n_u_setstate __pyx_string_tab[274] -#define __pyx_n_u_setstate_cython __pyx_string_tab[275] -#define __pyx_n_u_shape __pyx_string_tab[276] -#define __pyx_n_u_size __pyx_string_tab[277] -#define __pyx_n_u_squares __pyx_string_tab[278] -#define __pyx_n_u_start __pyx_string_tab[279] -#define __pyx_n_u_state __pyx_string_tab[280] -#define __pyx_n_u_step __pyx_string_tab[281] -#define __pyx_n_u_stop __pyx_string_tab[282] -#define __pyx_n_u_struct __pyx_string_tab[283] -#define __pyx_n_u_sum __pyx_string_tab[284] -#define __pyx_n_u_test __pyx_string_tab[285] -#define __pyx_n_u_throw __pyx_string_tab[286] -#define __pyx_n_u_unpack __pyx_string_tab[287] -#define __pyx_n_u_update __pyx_string_tab[288] -#define __pyx_n_u_use_setstate __pyx_string_tab[289] -#define __pyx_n_u_valid_move __pyx_string_tab[290] -#define __pyx_n_u_value __pyx_string_tab[291] -#define __pyx_n_u_values __pyx_string_tab[292] -#define __pyx_n_u_x __pyx_string_tab[293] -#define __pyx_n_u_y __pyx_string_tab[294] -#define __pyx_n_u_zeros __pyx_string_tab[295] -#define __pyx_kp_b_iso88591_0_t __pyx_string_tab[296] -#define __pyx_kp_b_iso88591_1F __pyx_string_tab[297] -#define __pyx_kp_b_iso88591_1_a_4q_d_d_Q_q_1A_AQa_Qa_1A_E_Q __pyx_string_tab[298] -#define __pyx_kp_b_iso88591_1_a_A_CuA_uBc_U_b_4vS_S_1_q_q __pyx_string_tab[299] -#define __pyx_kp_b_iso88591_4A_a_A_1_E_aq_U_1_9AS_3a_3a_q __pyx_string_tab[300] -#define __pyx_kp_b_iso88591_4A_a_A_a_4_1_CuA_F_AT_d_q_5_1_E __pyx_string_tab[301] -#define __pyx_kp_b_iso88591_5Q_gT_s_47J_1_t_1A __pyx_string_tab[302] -#define __pyx_kp_b_iso88591_6 __pyx_string_tab[303] -#define __pyx_kp_b_iso88591_7q_1A_4t_a_1_1_Kq_A_q __pyx_string_tab[304] -#define __pyx_kp_b_iso88591_7q_haq_4z_1D_4_1A_F_Bc_xq_Q_j_Q __pyx_string_tab[305] -#define __pyx_kp_b_iso88591_A __pyx_string_tab[306] -#define __pyx_kp_b_iso88591_A_4q_4q_Je1Ct_Bhb_A_haq_D_AQ_a_q __pyx_string_tab[307] -#define __pyx_kp_b_iso88591_A_a_A_CuA_r_D_T_3d_U_c_Q_G1A __pyx_string_tab[308] -#define __pyx_kp_b_iso88591_A_haq_4z_1D_4_1A_4_1A_Kr_5_gV1_1 __pyx_string_tab[309] -#define __pyx_kp_b_iso88591_A_haq_6_Rq_HF_wat_1_4vQ_1_4v_T_q __pyx_string_tab[310] -#define __pyx_kp_b_iso88591_A_haq_HF_wat_1_4vQ_1_L_d_4AQ_4_t __pyx_string_tab[311] -#define __pyx_kp_b_iso88591_A_r_D_T_3d __pyx_string_tab[312] -#define __pyx_kp_b_iso88591_L_1D_t4_q_l_q_Q_Q __pyx_string_tab[313] -#define __pyx_kp_b_iso88591_T_4_0_Kt1_G1F_a_vWE_Q_q_t9G5_4y __pyx_string_tab[314] -#define __pyx_kp_b_iso88591_T_4wd_G1F_a_vWE_Q_q_t_G1_q_d_7 __pyx_string_tab[315] -#define __pyx_kp_b_iso88591_T_9_OtSggkkssw_x_E_E_I_I_W_W_l __pyx_string_tab[316] -#define __pyx_kp_b_iso88591_T_A_G1F_a_vWE_Q_q_t6_S_IWA_q_d __pyx_string_tab[317] -#define __pyx_kp_b_iso88591_T_D_4z_SWW_aab_G1F_a_vWE_Q_q_t __pyx_string_tab[318] -#define __pyx_kp_b_iso88591_T_D_t_n_a_G1F_a_vWE_Q_q_t_S_N_Q __pyx_string_tab[319] -#define __pyx_kp_b_iso88591_T_k_T_Q_G1F_a_vWE_Q_q_q_q_T_G1 __pyx_string_tab[320] -#define __pyx_kp_b_iso88591__11 __pyx_string_tab[321] -#define __pyx_kp_b_iso88591__9 __pyx_string_tab[322] -#define __pyx_kp_b_iso88591_a_A_2S_E_Rs_a_9AS_3a_q __pyx_string_tab[323] -#define __pyx_kp_b_iso88591_a_A_2S_E_Rs_a_9AS_q __pyx_string_tab[324] -#define __pyx_kp_b_iso88591_a_A_E_aq_U_1_9AS_3a_1_q __pyx_string_tab[325] -#define __pyx_kp_b_iso88591_a_A_E_aq_U_1_9AS_3a_Q_vS_Rq __pyx_string_tab[326] -#define __pyx_kp_b_iso88591_a_Q_t1_4q_A_A_V5_a_a_T_CuIQd_HA __pyx_string_tab[327] -#define __pyx_kp_b_iso88591_a_a_A_Q_E_aq_U_1_9AS_3a_b_1_q __pyx_string_tab[328] -#define __pyx_kp_b_iso88591_a_t __pyx_string_tab[329] -#define __pyx_kp_b_iso88591_avQ __pyx_string_tab[330] -#define __pyx_kp_b_iso88591_avQ_2 __pyx_string_tab[331] -#define __pyx_kp_b_iso88591_q __pyx_string_tab[332] -#define __pyx_kp_b_iso88591_q_0_kQR_4xq_7_awnA_1 __pyx_string_tab[333] -#define __pyx_kp_b_iso88591_q_0_kQR_5_7_q_a_1 __pyx_string_tab[334] -#define __pyx_kp_b_iso88591_q_0_kQR_81A_7_2_3FnTU_1 __pyx_string_tab[335] -#define __pyx_kp_b_iso88591_q_0_kQR_881A_7_nA_1 __pyx_string_tab[336] -#define __pyx_kp_b_iso88591_q_0_kQR_XQa_7_A_1 __pyx_string_tab[337] -#define __pyx_kp_b_iso88591_q_0_kQR_haq_7_QnN_1 __pyx_string_tab[338] -#define __pyx_kp_b_iso88591_q_2 __pyx_string_tab[339] -#define __pyx_kp_b_iso88591_q_3 __pyx_string_tab[340] -#define __pyx_kp_b_iso88591_q_4 __pyx_string_tab[341] -#define __pyx_kp_b_iso88591_q_E_aq __pyx_string_tab[342] -#define __pyx_kp_b_iso88591_q_IU_4q_Kq_a_Ja_M_E_at1_c_j_t_B __pyx_string_tab[343] -#define __pyx_kp_b_iso88591_q_t_2T_D8I_TQUUV __pyx_string_tab[344] -#define __pyx_kp_b_iso88591_t __pyx_string_tab[345] -#define __pyx_kp_b_iso88591_t7_1 __pyx_string_tab[346] -#define __pyx_n_b_O __pyx_string_tab[347] +#define __pyx_kp_u_list_None __pyx_string_tab[38] +#define __pyx_kp_u_no_default___reduce___due_to_non __pyx_string_tab[39] +#define __pyx_kp_u_numpy__core_multiarray_failed_to __pyx_string_tab[40] +#define __pyx_kp_u_numpy__core_umath_failed_to_impo __pyx_string_tab[41] +#define __pyx_kp_u_object __pyx_string_tab[42] +#define __pyx_kp_u_orient __pyx_string_tab[43] +#define __pyx_kp_u_pos __pyx_string_tab[44] +#define __pyx_kp_u_strided_and_direct __pyx_string_tab[45] +#define __pyx_kp_u_strided_and_direct_or_indirect __pyx_string_tab[46] +#define __pyx_kp_u_strided_and_indirect __pyx_string_tab[47] +#define __pyx_kp_u_stringsource __pyx_string_tab[48] +#define __pyx_kp_u_unable_to_allocate_array_data __pyx_string_tab[49] +#define __pyx_kp_u_unable_to_allocate_shape_and_str __pyx_string_tab[50] +#define __pyx_n_u_ASCII __pyx_string_tab[51] +#define __pyx_n_u_BlokusGame __pyx_string_tab[52] +#define __pyx_n_u_BlokusGame___reduce_cython __pyx_string_tab[53] +#define __pyx_n_u_BlokusGame___setstate_cython __pyx_string_tab[54] +#define __pyx_n_u_BlokusGame__check_game_over __pyx_string_tab[55] +#define __pyx_n_u_BlokusGame__generate_action_spac __pyx_string_tab[56] +#define __pyx_n_u_BlokusGame_apply_move __pyx_string_tab[57] +#define __pyx_n_u_BlokusGame_copy __pyx_string_tab[58] +#define __pyx_n_u_BlokusGame_get_action __pyx_string_tab[59] +#define __pyx_n_u_BlokusGame_get_move __pyx_string_tab[60] +#define __pyx_n_u_BlokusGame_get_placed_corners __pyx_string_tab[61] +#define __pyx_n_u_BlokusGame_get_placed_squares __pyx_string_tab[62] +#define __pyx_n_u_BlokusGame_get_scores __pyx_string_tab[63] +#define __pyx_n_u_BlokusGame_get_state __pyx_string_tab[64] +#define __pyx_n_u_BlokusGame_get_valid_actions __pyx_string_tab[65] +#define __pyx_n_u_BlokusGame_get_winners __pyx_string_tab[66] +#define __pyx_n_u_BlokusGame_has_valid_moves __pyx_string_tab[67] +#define __pyx_n_u_BlokusGame_is_game_over __pyx_string_tab[68] +#define __pyx_n_u_BlokusGame_next_player __pyx_string_tab[69] +#define __pyx_n_u_BlokusGame_play_move __pyx_string_tab[70] +#define __pyx_n_u_BlokusGame_reset __pyx_string_tab[71] +#define __pyx_n_u_BlokusGame_valid_move __pyx_string_tab[72] +#define __pyx_n_u_Board __pyx_string_tab[73] +#define __pyx_n_u_Board___reduce_cython __pyx_string_tab[74] +#define __pyx_n_u_Board___setstate_cython __pyx_string_tab[75] +#define __pyx_n_u_Board_clear __pyx_string_tab[76] +#define __pyx_n_u_Board_coverage __pyx_string_tab[77] +#define __pyx_n_u_Board_get_cell __pyx_string_tab[78] +#define __pyx_n_u_Board_get_occupied __pyx_string_tab[79] +#define __pyx_n_u_Board_get_player_corners __pyx_string_tab[80] +#define __pyx_n_u_Board_get_player_occupied __pyx_string_tab[81] +#define __pyx_n_u_Board_get_player_squares __pyx_string_tab[82] +#define __pyx_n_u_Board_has_overlap __pyx_string_tab[83] +#define __pyx_n_u_Board_in_bounds __pyx_string_tab[84] +#define __pyx_n_u_Board_is_empty __pyx_string_tab[85] +#define __pyx_n_u_Board_is_full __pyx_string_tab[86] +#define __pyx_n_u_Board_place __pyx_string_tab[87] +#define __pyx_n_u_Ellipsis __pyx_string_tab[88] +#define __pyx_n_u_F5 __pyx_string_tab[89] +#define __pyx_n_u_I1 __pyx_string_tab[90] +#define __pyx_n_u_I2 __pyx_string_tab[91] +#define __pyx_n_u_I3 __pyx_string_tab[92] +#define __pyx_n_u_I4 __pyx_string_tab[93] +#define __pyx_n_u_I5 __pyx_string_tab[94] +#define __pyx_n_u_L4 __pyx_string_tab[95] +#define __pyx_n_u_L5 __pyx_string_tab[96] +#define __pyx_n_u_Move __pyx_string_tab[97] +#define __pyx_n_u_Move___reduce_cython __pyx_string_tab[98] +#define __pyx_n_u_Move___setstate_cython __pyx_string_tab[99] +#define __pyx_n_u_N5 __pyx_string_tab[100] +#define __pyx_n_u_None __pyx_string_tab[101] +#define __pyx_n_u_O4 __pyx_string_tab[102] +#define __pyx_n_u_P5 __pyx_string_tab[103] +#define __pyx_n_u_Piece __pyx_string_tab[104] +#define __pyx_n_u_PieceOrientation __pyx_string_tab[105] +#define __pyx_n_u_PieceOrientation___reduce_cython __pyx_string_tab[106] +#define __pyx_n_u_PieceOrientation___setstate_cyth __pyx_string_tab[107] +#define __pyx_n_u_PieceSet __pyx_string_tab[108] +#define __pyx_n_u_PieceSet___reduce_cython __pyx_string_tab[109] +#define __pyx_n_u_PieceSet___setstate_cython __pyx_string_tab[110] +#define __pyx_n_u_PieceSet_get_orientations __pyx_string_tab[111] +#define __pyx_n_u_PieceSet_get_piece __pyx_string_tab[112] +#define __pyx_n_u_PieceSet_get_piece_id __pyx_string_tab[113] +#define __pyx_n_u_Piece___reduce_cython __pyx_string_tab[114] +#define __pyx_n_u_Piece___setstate_cython __pyx_string_tab[115] +#define __pyx_n_u_PlayerState __pyx_string_tab[116] +#define __pyx_n_u_PlayerState___reduce_cython __pyx_string_tab[117] +#define __pyx_n_u_PlayerState___setstate_cython __pyx_string_tab[118] +#define __pyx_n_u_Pyx_PyDict_NextRef __pyx_string_tab[119] +#define __pyx_n_u_S4 __pyx_string_tab[120] +#define __pyx_n_u_Sequence __pyx_string_tab[121] +#define __pyx_n_u_T4 __pyx_string_tab[122] +#define __pyx_n_u_T5 __pyx_string_tab[123] +#define __pyx_n_u_U5 __pyx_string_tab[124] +#define __pyx_n_u_V3 __pyx_string_tab[125] +#define __pyx_n_u_V5 __pyx_string_tab[126] +#define __pyx_n_u_View_MemoryView __pyx_string_tab[127] +#define __pyx_n_u_W5 __pyx_string_tab[128] +#define __pyx_n_u_X5 __pyx_string_tab[129] +#define __pyx_n_u_Y5 __pyx_string_tab[130] +#define __pyx_n_u_Z5 __pyx_string_tab[131] +#define __pyx_n_u__10 __pyx_string_tab[132] +#define __pyx_n_u_abc __pyx_string_tab[133] +#define __pyx_n_u_action __pyx_string_tab[134] +#define __pyx_n_u_allocate_buffer __pyx_string_tab[135] +#define __pyx_n_u_annotate __pyx_string_tab[136] +#define __pyx_n_u_apply_move __pyx_string_tab[137] +#define __pyx_n_u_asyncio_coroutines __pyx_string_tab[138] +#define __pyx_n_u_available_pieces __pyx_string_tab[139] +#define __pyx_n_u_base __pyx_string_tab[140] +#define __pyx_n_u_bint __pyx_string_tab[141] +#define __pyx_n_u_blokus_cython __pyx_string_tab[142] +#define __pyx_n_u_board_size __pyx_string_tab[143] +#define __pyx_n_u_bool __pyx_string_tab[144] +#define __pyx_n_u_c __pyx_string_tab[145] +#define __pyx_n_u_can_move __pyx_string_tab[146] +#define __pyx_n_u_check_game_over __pyx_string_tab[147] +#define __pyx_n_u_check_game_over_locals_genexpr __pyx_string_tab[148] +#define __pyx_n_u_class __pyx_string_tab[149] +#define __pyx_n_u_class_getitem __pyx_string_tab[150] +#define __pyx_n_u_clear __pyx_string_tab[151] +#define __pyx_n_u_cline_in_traceback __pyx_string_tab[152] +#define __pyx_n_u_close __pyx_string_tab[153] +#define __pyx_n_u_copy __pyx_string_tab[154] +#define __pyx_n_u_corner_rule __pyx_string_tab[155] +#define __pyx_n_u_corners __pyx_string_tab[156] +#define __pyx_n_u_count __pyx_string_tab[157] +#define __pyx_n_u_coverage __pyx_string_tab[158] +#define __pyx_n_u_current_player __pyx_string_tab[159] +#define __pyx_n_u_cx __pyx_string_tab[160] +#define __pyx_n_u_cy __pyx_string_tab[161] +#define __pyx_n_u_dict __pyx_string_tab[162] +#define __pyx_n_u_dict_2 __pyx_string_tab[163] +#define __pyx_n_u_dict_3 __pyx_string_tab[164] +#define __pyx_n_u_dtype __pyx_string_tab[165] +#define __pyx_n_u_dtype_is_object __pyx_string_tab[166] +#define __pyx_n_u_dx __pyx_string_tab[167] +#define __pyx_n_u_dy __pyx_string_tab[168] +#define __pyx_n_u_encode __pyx_string_tab[169] +#define __pyx_n_u_enumerate __pyx_string_tab[170] +#define __pyx_n_u_error __pyx_string_tab[171] +#define __pyx_n_u_fill __pyx_string_tab[172] +#define __pyx_n_u_flags __pyx_string_tab[173] +#define __pyx_n_u_float __pyx_string_tab[174] +#define __pyx_n_u_format __pyx_string_tab[175] +#define __pyx_n_u_fortran __pyx_string_tab[176] +#define __pyx_n_u_func __pyx_string_tab[177] +#define __pyx_n_u_game_over __pyx_string_tab[178] +#define __pyx_n_u_genexpr __pyx_string_tab[179] +#define __pyx_n_u_get_action __pyx_string_tab[180] +#define __pyx_n_u_get_cell __pyx_string_tab[181] +#define __pyx_n_u_get_move __pyx_string_tab[182] +#define __pyx_n_u_get_occupied __pyx_string_tab[183] +#define __pyx_n_u_get_orientations __pyx_string_tab[184] +#define __pyx_n_u_get_piece __pyx_string_tab[185] +#define __pyx_n_u_get_piece_id __pyx_string_tab[186] +#define __pyx_n_u_get_placed_corners __pyx_string_tab[187] +#define __pyx_n_u_get_placed_squares __pyx_string_tab[188] +#define __pyx_n_u_get_player_corners __pyx_string_tab[189] +#define __pyx_n_u_get_player_occupied __pyx_string_tab[190] +#define __pyx_n_u_get_player_squares __pyx_string_tab[191] +#define __pyx_n_u_get_scores __pyx_string_tab[192] +#define __pyx_n_u_get_standard_pieces __pyx_string_tab[193] +#define __pyx_n_u_get_state __pyx_string_tab[194] +#define __pyx_n_u_get_valid_actions __pyx_string_tab[195] +#define __pyx_n_u_get_winners __pyx_string_tab[196] +#define __pyx_n_u_getstate __pyx_string_tab[197] +#define __pyx_n_u_grid_view __pyx_string_tab[198] +#define __pyx_n_u_has_overlap __pyx_string_tab[199] +#define __pyx_n_u_has_started __pyx_string_tab[200] +#define __pyx_n_u_has_valid_moves __pyx_string_tab[201] +#define __pyx_n_u_i __pyx_string_tab[202] +#define __pyx_n_u_id __pyx_string_tab[203] +#define __pyx_n_u_idx __pyx_string_tab[204] +#define __pyx_n_u_import __pyx_string_tab[205] +#define __pyx_n_u_in_bounds __pyx_string_tab[206] +#define __pyx_n_u_index __pyx_string_tab[207] +#define __pyx_n_u_init___locals_genexpr __pyx_string_tab[208] +#define __pyx_n_u_int __pyx_string_tab[209] +#define __pyx_n_u_int8 __pyx_string_tab[210] +#define __pyx_n_u_is_coroutine __pyx_string_tab[211] +#define __pyx_n_u_is_empty __pyx_string_tab[212] +#define __pyx_n_u_is_full __pyx_string_tab[213] +#define __pyx_n_u_is_game_over __pyx_string_tab[214] +#define __pyx_n_u_items __pyx_string_tab[215] +#define __pyx_n_u_itemsize __pyx_string_tab[216] +#define __pyx_n_u_list __pyx_string_tab[217] +#define __pyx_n_u_main __pyx_string_tab[218] +#define __pyx_n_u_max __pyx_string_tab[219] +#define __pyx_n_u_max_score __pyx_string_tab[220] +#define __pyx_n_u_memview __pyx_string_tab[221] +#define __pyx_n_u_min __pyx_string_tab[222] +#define __pyx_n_u_mode __pyx_string_tab[223] +#define __pyx_n_u_module __pyx_string_tab[224] +#define __pyx_n_u_move __pyx_string_tab[225] +#define __pyx_n_u_name __pyx_string_tab[226] +#define __pyx_n_u_name_2 __pyx_string_tab[227] +#define __pyx_n_u_ndim __pyx_string_tab[228] +#define __pyx_n_u_new __pyx_string_tab[229] +#define __pyx_n_u_new_game __pyx_string_tab[230] +#define __pyx_n_u_next __pyx_string_tab[231] +#define __pyx_n_u_next_idx __pyx_string_tab[232] +#define __pyx_n_u_next_player __pyx_string_tab[233] +#define __pyx_n_u_normalize_squares_cython_locals __pyx_string_tab[234] +#define __pyx_n_u_np __pyx_string_tab[235] +#define __pyx_n_u_num_actions __pyx_string_tab[236] +#define __pyx_n_u_num_pieces __pyx_string_tab[237] +#define __pyx_n_u_num_players __pyx_string_tab[238] +#define __pyx_n_u_numpy __pyx_string_tab[239] +#define __pyx_n_u_o __pyx_string_tab[240] +#define __pyx_n_u_obj __pyx_string_tab[241] +#define __pyx_n_u_offset __pyx_string_tab[242] +#define __pyx_n_u_orientation_id __pyx_string_tab[243] +#define __pyx_n_u_p __pyx_string_tab[244] +#define __pyx_n_u_pack __pyx_string_tab[245] +#define __pyx_n_u_pid __pyx_string_tab[246] +#define __pyx_n_u_piece __pyx_string_tab[247] +#define __pyx_n_u_piece_id __pyx_string_tab[248] +#define __pyx_n_u_pieces __pyx_string_tab[249] +#define __pyx_n_u_pieces_list __pyx_string_tab[250] +#define __pyx_n_u_place __pyx_string_tab[251] +#define __pyx_n_u_placed_corners __pyx_string_tab[252] +#define __pyx_n_u_placed_squares __pyx_string_tab[253] +#define __pyx_n_u_play_move __pyx_string_tab[254] +#define __pyx_n_u_player __pyx_string_tab[255] +#define __pyx_n_u_player_idx __pyx_string_tab[256] +#define __pyx_n_u_player_squares __pyx_string_tab[257] +#define __pyx_n_u_players __pyx_string_tab[258] +#define __pyx_n_u_pop __pyx_string_tab[259] +#define __pyx_n_u_pyx_checksum __pyx_string_tab[260] +#define __pyx_n_u_pyx_result __pyx_string_tab[261] +#define __pyx_n_u_pyx_state __pyx_string_tab[262] +#define __pyx_n_u_pyx_type __pyx_string_tab[263] +#define __pyx_n_u_pyx_unpickle_BlokusGame __pyx_string_tab[264] +#define __pyx_n_u_pyx_unpickle_Board __pyx_string_tab[265] +#define __pyx_n_u_pyx_unpickle_Enum __pyx_string_tab[266] +#define __pyx_n_u_pyx_unpickle_Move __pyx_string_tab[267] +#define __pyx_n_u_pyx_unpickle_Piece __pyx_string_tab[268] +#define __pyx_n_u_pyx_unpickle_PieceOrientation __pyx_string_tab[269] +#define __pyx_n_u_pyx_unpickle_PieceSet __pyx_string_tab[270] +#define __pyx_n_u_pyx_unpickle_PlayerState __pyx_string_tab[271] +#define __pyx_n_u_pyx_vtable __pyx_string_tab[272] +#define __pyx_n_u_qualname __pyx_string_tab[273] +#define __pyx_n_u_reduce __pyx_string_tab[274] +#define __pyx_n_u_reduce_cython __pyx_string_tab[275] +#define __pyx_n_u_reduce_ex __pyx_string_tab[276] +#define __pyx_n_u_register __pyx_string_tab[277] +#define __pyx_n_u_reset __pyx_string_tab[278] +#define __pyx_n_u_result __pyx_string_tab[279] +#define __pyx_n_u_return __pyx_string_tab[280] +#define __pyx_n_u_rounds __pyx_string_tab[281] +#define __pyx_n_u_s __pyx_string_tab[282] +#define __pyx_n_u_score __pyx_string_tab[283] +#define __pyx_n_u_scores __pyx_string_tab[284] +#define __pyx_n_u_self __pyx_string_tab[285] +#define __pyx_n_u_send __pyx_string_tab[286] +#define __pyx_n_u_set __pyx_string_tab[287] +#define __pyx_n_u_set_name __pyx_string_tab[288] +#define __pyx_n_u_setdefault __pyx_string_tab[289] +#define __pyx_n_u_setstate __pyx_string_tab[290] +#define __pyx_n_u_setstate_cython __pyx_string_tab[291] +#define __pyx_n_u_shape __pyx_string_tab[292] +#define __pyx_n_u_size __pyx_string_tab[293] +#define __pyx_n_u_squares __pyx_string_tab[294] +#define __pyx_n_u_start __pyx_string_tab[295] +#define __pyx_n_u_state __pyx_string_tab[296] +#define __pyx_n_u_step __pyx_string_tab[297] +#define __pyx_n_u_stop __pyx_string_tab[298] +#define __pyx_n_u_struct __pyx_string_tab[299] +#define __pyx_n_u_sum __pyx_string_tab[300] +#define __pyx_n_u_test __pyx_string_tab[301] +#define __pyx_n_u_throw __pyx_string_tab[302] +#define __pyx_n_u_unpack __pyx_string_tab[303] +#define __pyx_n_u_unplaced __pyx_string_tab[304] +#define __pyx_n_u_update __pyx_string_tab[305] +#define __pyx_n_u_use_setstate __pyx_string_tab[306] +#define __pyx_n_u_valid_move __pyx_string_tab[307] +#define __pyx_n_u_value __pyx_string_tab[308] +#define __pyx_n_u_values __pyx_string_tab[309] +#define __pyx_n_u_x __pyx_string_tab[310] +#define __pyx_n_u_y __pyx_string_tab[311] +#define __pyx_n_u_zeros __pyx_string_tab[312] +#define __pyx_kp_b_iso88591_0_t __pyx_string_tab[313] +#define __pyx_kp_b_iso88591_1F __pyx_string_tab[314] +#define __pyx_kp_b_iso88591_1_a_4q_d_d_Q_q_1A_AQa_Qa_1A_E_Q __pyx_string_tab[315] +#define __pyx_kp_b_iso88591_1_a_A_CuA_uBc_U_b_4vS_S_1_q_q __pyx_string_tab[316] +#define __pyx_kp_b_iso88591_4A_a_A_1_E_aq_U_1_9AS_3a_3a_q __pyx_string_tab[317] +#define __pyx_kp_b_iso88591_4A_a_A_a_4_1_CuA_F_AT_d_q_5_1_E __pyx_string_tab[318] +#define __pyx_kp_b_iso88591_4q __pyx_string_tab[319] +#define __pyx_kp_b_iso88591_5Q_gT_s_47J_1_t_1A __pyx_string_tab[320] +#define __pyx_kp_b_iso88591_6 __pyx_string_tab[321] +#define __pyx_kp_b_iso88591_7q_1A_4t_a_1_1_Kq_A_q __pyx_string_tab[322] +#define __pyx_kp_b_iso88591_7q_haq_4z_1D_4_1A_F_Bc_xq_Q_j_Q __pyx_string_tab[323] +#define __pyx_kp_b_iso88591_A __pyx_string_tab[324] +#define __pyx_kp_b_iso88591_A_1_Jd_q_uAT_1_Jj_5_c_q_Q_F_1_s __pyx_string_tab[325] +#define __pyx_kp_b_iso88591_A_4q_4q_Je1Ct_Bhb_A_haq_D_AQ_a_q __pyx_string_tab[326] +#define __pyx_kp_b_iso88591_A_a_A_CuA_r_D_T_3d_U_c_Q_G1A __pyx_string_tab[327] +#define __pyx_kp_b_iso88591_A_haq_4z_1D_4_1A_4_1A_Kr_5_gV1_1 __pyx_string_tab[328] +#define __pyx_kp_b_iso88591_A_haq_6_Rq_HF_wat_1_4vQ_1_4v_T_q __pyx_string_tab[329] +#define __pyx_kp_b_iso88591_A_haq_HF_wat_1_4vQ_1_L_d_4AQ_4_t __pyx_string_tab[330] +#define __pyx_kp_b_iso88591_A_r_D_T_3d __pyx_string_tab[331] +#define __pyx_kp_b_iso88591_A_t_q __pyx_string_tab[332] +#define __pyx_kp_b_iso88591_L_1D_t4_q_l_q_Q_Q __pyx_string_tab[333] +#define __pyx_kp_b_iso88591_Q_4t_1_4_S_q_c_iq_2S __pyx_string_tab[334] +#define __pyx_kp_b_iso88591_T_4_0_Kt1_G1F_a_vWE_Q_q_t9G5_4y __pyx_string_tab[335] +#define __pyx_kp_b_iso88591_T_4wd_G1F_a_vWE_Q_q_t_G1_q_d_7 __pyx_string_tab[336] +#define __pyx_kp_b_iso88591_T_9_OtSggkkssw_x_E_E_I_I_W_W_l __pyx_string_tab[337] +#define __pyx_kp_b_iso88591_T_A_G1F_a_vWE_Q_q_t6_S_IWA_q_d __pyx_string_tab[338] +#define __pyx_kp_b_iso88591_T_D_4z_SWW_aab_G1F_a_vWE_Q_q_t __pyx_string_tab[339] +#define __pyx_kp_b_iso88591_T_D_t_n_a_G1F_a_vWE_Q_q_t_S_N_Q __pyx_string_tab[340] +#define __pyx_kp_b_iso88591_T_k_T_Q_G1F_a_vWE_Q_q_q_q_T_G1 __pyx_string_tab[341] +#define __pyx_kp_b_iso88591__11 __pyx_string_tab[342] +#define __pyx_kp_b_iso88591__9 __pyx_string_tab[343] +#define __pyx_kp_b_iso88591_a_4q_1_E_at1_t81Bj_D0_q_M_q __pyx_string_tab[344] +#define __pyx_kp_b_iso88591_a_A_2S_E_Rs_a_9AS_3a_q __pyx_string_tab[345] +#define __pyx_kp_b_iso88591_a_A_2S_E_Rs_a_9AS_q __pyx_string_tab[346] +#define __pyx_kp_b_iso88591_a_A_E_aq_U_1_9AS_3a_1_q __pyx_string_tab[347] +#define __pyx_kp_b_iso88591_a_A_E_aq_U_1_9AS_3a_Q_vS_Rq __pyx_string_tab[348] +#define __pyx_kp_b_iso88591_a_Q_t1_4q_A_A_V5_a_a_T_CuIQd_HA __pyx_string_tab[349] +#define __pyx_kp_b_iso88591_a_a_A_Q_E_aq_U_1_9AS_3a_b_1_q __pyx_string_tab[350] +#define __pyx_kp_b_iso88591_a_t __pyx_string_tab[351] +#define __pyx_kp_b_iso88591_avQ __pyx_string_tab[352] +#define __pyx_kp_b_iso88591_avQ_2 __pyx_string_tab[353] +#define __pyx_kp_b_iso88591_q __pyx_string_tab[354] +#define __pyx_kp_b_iso88591_q_0_kQR_4xq_7_awnA_1 __pyx_string_tab[355] +#define __pyx_kp_b_iso88591_q_0_kQR_5_7_q_a_1 __pyx_string_tab[356] +#define __pyx_kp_b_iso88591_q_0_kQR_81A_7_2_3FnTU_1 __pyx_string_tab[357] +#define __pyx_kp_b_iso88591_q_0_kQR_881A_7_nA_1 __pyx_string_tab[358] +#define __pyx_kp_b_iso88591_q_0_kQR_XQa_7_A_1 __pyx_string_tab[359] +#define __pyx_kp_b_iso88591_q_0_kQR_haq_7_QnN_1 __pyx_string_tab[360] +#define __pyx_kp_b_iso88591_q_2 __pyx_string_tab[361] +#define __pyx_kp_b_iso88591_q_3 __pyx_string_tab[362] +#define __pyx_kp_b_iso88591_q_4 __pyx_string_tab[363] +#define __pyx_kp_b_iso88591_q_E_aq __pyx_string_tab[364] +#define __pyx_kp_b_iso88591_q_IU_4q_Kq_a_Ja_M_E_at1_c_j_t_B __pyx_string_tab[365] +#define __pyx_kp_b_iso88591_q_t_2T_D8I_TQUUV __pyx_string_tab[366] +#define __pyx_kp_b_iso88591_t __pyx_string_tab[367] +#define __pyx_kp_b_iso88591_t7_1 __pyx_string_tab[368] +#define __pyx_n_b_O __pyx_string_tab[369] #define __pyx_int_0 __pyx_number_tab[0] #define __pyx_int_neg_1 __pyx_number_tab[1] #define __pyx_int_1 __pyx_number_tab[2] @@ -4726,34 +4758,34 @@ static CYTHON_SMALL_CODE int __pyx_m_clear(PyObject *m) { Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_flexible); Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_character); Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_ufunc); - Py_CLEAR(clear_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board); - Py_CLEAR(clear_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython_Board); - Py_CLEAR(clear_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Move); - Py_CLEAR(clear_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython_Move); - Py_CLEAR(clear_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceOrientation); - Py_CLEAR(clear_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython_PieceOrientation); - Py_CLEAR(clear_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece); - Py_CLEAR(clear_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython_Piece); - Py_CLEAR(clear_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceSet); - Py_CLEAR(clear_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython_PieceSet); - Py_CLEAR(clear_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PlayerState); - Py_CLEAR(clear_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython_PlayerState); - Py_CLEAR(clear_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame); - Py_CLEAR(clear_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython_BlokusGame); - Py_CLEAR(clear_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr); - Py_CLEAR(clear_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr); - Py_CLEAR(clear_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr); - Py_CLEAR(clear_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr); - Py_CLEAR(clear_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr); - Py_CLEAR(clear_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr); - Py_CLEAR(clear_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr); - Py_CLEAR(clear_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr); - Py_CLEAR(clear_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr); - Py_CLEAR(clear_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr); - Py_CLEAR(clear_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr); - Py_CLEAR(clear_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr); - Py_CLEAR(clear_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr); - Py_CLEAR(clear_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr); + Py_CLEAR(clear_module_state->__pyx_ptype_13blokus_cython_Board); + Py_CLEAR(clear_module_state->__pyx_type_13blokus_cython_Board); + Py_CLEAR(clear_module_state->__pyx_ptype_13blokus_cython_Move); + Py_CLEAR(clear_module_state->__pyx_type_13blokus_cython_Move); + Py_CLEAR(clear_module_state->__pyx_ptype_13blokus_cython_PieceOrientation); + Py_CLEAR(clear_module_state->__pyx_type_13blokus_cython_PieceOrientation); + Py_CLEAR(clear_module_state->__pyx_ptype_13blokus_cython_Piece); + Py_CLEAR(clear_module_state->__pyx_type_13blokus_cython_Piece); + Py_CLEAR(clear_module_state->__pyx_ptype_13blokus_cython_PieceSet); + Py_CLEAR(clear_module_state->__pyx_type_13blokus_cython_PieceSet); + Py_CLEAR(clear_module_state->__pyx_ptype_13blokus_cython_PlayerState); + Py_CLEAR(clear_module_state->__pyx_type_13blokus_cython_PlayerState); + Py_CLEAR(clear_module_state->__pyx_ptype_13blokus_cython_BlokusGame); + Py_CLEAR(clear_module_state->__pyx_type_13blokus_cython_BlokusGame); + Py_CLEAR(clear_module_state->__pyx_ptype_13blokus_cython___pyx_scope_struct__genexpr); + Py_CLEAR(clear_module_state->__pyx_type_13blokus_cython___pyx_scope_struct__genexpr); + Py_CLEAR(clear_module_state->__pyx_ptype_13blokus_cython___pyx_scope_struct_1_genexpr); + Py_CLEAR(clear_module_state->__pyx_type_13blokus_cython___pyx_scope_struct_1_genexpr); + Py_CLEAR(clear_module_state->__pyx_ptype_13blokus_cython___pyx_scope_struct_2_genexpr); + Py_CLEAR(clear_module_state->__pyx_type_13blokus_cython___pyx_scope_struct_2_genexpr); + Py_CLEAR(clear_module_state->__pyx_ptype_13blokus_cython___pyx_scope_struct_3_genexpr); + Py_CLEAR(clear_module_state->__pyx_type_13blokus_cython___pyx_scope_struct_3_genexpr); + Py_CLEAR(clear_module_state->__pyx_ptype_13blokus_cython___pyx_scope_struct_4_genexpr); + Py_CLEAR(clear_module_state->__pyx_type_13blokus_cython___pyx_scope_struct_4_genexpr); + Py_CLEAR(clear_module_state->__pyx_ptype_13blokus_cython___pyx_scope_struct_5_genexpr); + Py_CLEAR(clear_module_state->__pyx_type_13blokus_cython___pyx_scope_struct_5_genexpr); + Py_CLEAR(clear_module_state->__pyx_ptype_13blokus_cython___pyx_scope_struct_6_genexpr); + Py_CLEAR(clear_module_state->__pyx_type_13blokus_cython___pyx_scope_struct_6_genexpr); Py_CLEAR(clear_module_state->__pyx_array_type); Py_CLEAR(clear_module_state->__pyx_type___pyx_array); Py_CLEAR(clear_module_state->__pyx_MemviewEnum_type); @@ -4764,8 +4796,8 @@ static CYTHON_SMALL_CODE int __pyx_m_clear(PyObject *m) { Py_CLEAR(clear_module_state->__pyx_type___pyx_memoryviewslice); for (int i=0; i<1; ++i) { Py_CLEAR(clear_module_state->__pyx_slice[i]); } for (int i=0; i<41; ++i) { Py_CLEAR(clear_module_state->__pyx_tuple[i]); } - for (int i=0; i<55; ++i) { Py_CLEAR(clear_module_state->__pyx_codeobj_tab[i]); } - for (int i=0; i<348; ++i) { Py_CLEAR(clear_module_state->__pyx_string_tab[i]); } + for (int i=0; i<61; ++i) { Py_CLEAR(clear_module_state->__pyx_codeobj_tab[i]); } + for (int i=0; i<370; ++i) { Py_CLEAR(clear_module_state->__pyx_string_tab[i]); } for (int i=0; i<14; ++i) { Py_CLEAR(clear_module_state->__pyx_number_tab[i]); } /* #### Code section: module_state_clear_contents ### */ /* CommonTypesMetaclass.module_state_clear */ @@ -4808,34 +4840,34 @@ static CYTHON_SMALL_CODE int __pyx_m_traverse(PyObject *m, visitproc visit, void Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_flexible); Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_character); Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_ufunc); - Py_VISIT(traverse_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board); - Py_VISIT(traverse_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython_Board); - Py_VISIT(traverse_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Move); - Py_VISIT(traverse_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython_Move); - Py_VISIT(traverse_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceOrientation); - Py_VISIT(traverse_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython_PieceOrientation); - Py_VISIT(traverse_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece); - Py_VISIT(traverse_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython_Piece); - Py_VISIT(traverse_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceSet); - Py_VISIT(traverse_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython_PieceSet); - Py_VISIT(traverse_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PlayerState); - Py_VISIT(traverse_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython_PlayerState); - Py_VISIT(traverse_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame); - Py_VISIT(traverse_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython_BlokusGame); - Py_VISIT(traverse_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr); - Py_VISIT(traverse_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr); - Py_VISIT(traverse_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr); - Py_VISIT(traverse_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr); - Py_VISIT(traverse_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr); - Py_VISIT(traverse_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr); - Py_VISIT(traverse_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr); - Py_VISIT(traverse_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr); - Py_VISIT(traverse_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr); - Py_VISIT(traverse_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr); - Py_VISIT(traverse_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr); - Py_VISIT(traverse_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr); - Py_VISIT(traverse_module_state->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr); - Py_VISIT(traverse_module_state->__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr); + Py_VISIT(traverse_module_state->__pyx_ptype_13blokus_cython_Board); + Py_VISIT(traverse_module_state->__pyx_type_13blokus_cython_Board); + Py_VISIT(traverse_module_state->__pyx_ptype_13blokus_cython_Move); + Py_VISIT(traverse_module_state->__pyx_type_13blokus_cython_Move); + Py_VISIT(traverse_module_state->__pyx_ptype_13blokus_cython_PieceOrientation); + Py_VISIT(traverse_module_state->__pyx_type_13blokus_cython_PieceOrientation); + Py_VISIT(traverse_module_state->__pyx_ptype_13blokus_cython_Piece); + Py_VISIT(traverse_module_state->__pyx_type_13blokus_cython_Piece); + Py_VISIT(traverse_module_state->__pyx_ptype_13blokus_cython_PieceSet); + Py_VISIT(traverse_module_state->__pyx_type_13blokus_cython_PieceSet); + Py_VISIT(traverse_module_state->__pyx_ptype_13blokus_cython_PlayerState); + Py_VISIT(traverse_module_state->__pyx_type_13blokus_cython_PlayerState); + Py_VISIT(traverse_module_state->__pyx_ptype_13blokus_cython_BlokusGame); + Py_VISIT(traverse_module_state->__pyx_type_13blokus_cython_BlokusGame); + Py_VISIT(traverse_module_state->__pyx_ptype_13blokus_cython___pyx_scope_struct__genexpr); + Py_VISIT(traverse_module_state->__pyx_type_13blokus_cython___pyx_scope_struct__genexpr); + Py_VISIT(traverse_module_state->__pyx_ptype_13blokus_cython___pyx_scope_struct_1_genexpr); + Py_VISIT(traverse_module_state->__pyx_type_13blokus_cython___pyx_scope_struct_1_genexpr); + Py_VISIT(traverse_module_state->__pyx_ptype_13blokus_cython___pyx_scope_struct_2_genexpr); + Py_VISIT(traverse_module_state->__pyx_type_13blokus_cython___pyx_scope_struct_2_genexpr); + Py_VISIT(traverse_module_state->__pyx_ptype_13blokus_cython___pyx_scope_struct_3_genexpr); + Py_VISIT(traverse_module_state->__pyx_type_13blokus_cython___pyx_scope_struct_3_genexpr); + Py_VISIT(traverse_module_state->__pyx_ptype_13blokus_cython___pyx_scope_struct_4_genexpr); + Py_VISIT(traverse_module_state->__pyx_type_13blokus_cython___pyx_scope_struct_4_genexpr); + Py_VISIT(traverse_module_state->__pyx_ptype_13blokus_cython___pyx_scope_struct_5_genexpr); + Py_VISIT(traverse_module_state->__pyx_type_13blokus_cython___pyx_scope_struct_5_genexpr); + Py_VISIT(traverse_module_state->__pyx_ptype_13blokus_cython___pyx_scope_struct_6_genexpr); + Py_VISIT(traverse_module_state->__pyx_type_13blokus_cython___pyx_scope_struct_6_genexpr); Py_VISIT(traverse_module_state->__pyx_array_type); Py_VISIT(traverse_module_state->__pyx_type___pyx_array); Py_VISIT(traverse_module_state->__pyx_MemviewEnum_type); @@ -4846,8 +4878,8 @@ static CYTHON_SMALL_CODE int __pyx_m_traverse(PyObject *m, visitproc visit, void Py_VISIT(traverse_module_state->__pyx_type___pyx_memoryviewslice); for (int i=0; i<1; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_slice[i]); } for (int i=0; i<41; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_tuple[i]); } - for (int i=0; i<55; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_codeobj_tab[i]); } - for (int i=0; i<348; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_string_tab[i]); } + for (int i=0; i<61; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_codeobj_tab[i]); } + for (int i=0; i<370; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_string_tab[i]); } for (int i=0; i<14; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_number_tab[i]); } /* #### Code section: module_state_traverse_contents ### */ /* CommonTypesMetaclass.module_state_traverse */ @@ -17352,7 +17384,7 @@ static PyObject *__pyx_unpickle_Enum__set_state(struct __pyx_MemviewEnum_obj *__ return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":242 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":242 * cdef int type_num * * @property # <<<<<<<<<<<<<< @@ -17363,7 +17395,7 @@ static PyObject *__pyx_unpickle_Enum__set_state(struct __pyx_MemviewEnum_obj *__ static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_8itemsize_itemsize(PyArray_Descr *__pyx_v_self) { npy_intp __pyx_r; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":244 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":244 * @property * cdef inline npy_intp itemsize(self) noexcept nogil: * return PyDataType_ELSIZE(self) # <<<<<<<<<<<<<< @@ -17373,7 +17405,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_8itemsize_itemsize(PyArray_D __pyx_r = PyDataType_ELSIZE(__pyx_v_self); goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":242 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":242 * cdef int type_num * * @property # <<<<<<<<<<<<<< @@ -17386,7 +17418,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_8itemsize_itemsize(PyArray_D return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":246 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":246 * return PyDataType_ELSIZE(self) * * @property # <<<<<<<<<<<<<< @@ -17397,7 +17429,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_8itemsize_itemsize(PyArray_D static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_9alignment_alignment(PyArray_Descr *__pyx_v_self) { npy_intp __pyx_r; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":248 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":248 * @property * cdef inline npy_intp alignment(self) noexcept nogil: * return PyDataType_ALIGNMENT(self) # <<<<<<<<<<<<<< @@ -17407,7 +17439,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_9alignment_alignment(PyArray __pyx_r = PyDataType_ALIGNMENT(__pyx_v_self); goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":246 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":246 * return PyDataType_ELSIZE(self) * * @property # <<<<<<<<<<<<<< @@ -17420,7 +17452,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_9alignment_alignment(PyArray return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":252 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":252 * # Use fields/names with care as they may be NULL. You must check * # for this using PyDataType_HASFIELDS. * @property # <<<<<<<<<<<<<< @@ -17434,7 +17466,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_6fields_fields(PyArray_Desc PyObject *__pyx_t_1; __Pyx_RefNannySetupContext("fields", 0); - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":254 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":254 * @property * cdef inline object fields(self): * return PyDataType_FIELDS(self) # <<<<<<<<<<<<<< @@ -17447,7 +17479,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_6fields_fields(PyArray_Desc __pyx_r = ((PyObject *)__pyx_t_1); goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":252 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":252 * # Use fields/names with care as they may be NULL. You must check * # for this using PyDataType_HASFIELDS. * @property # <<<<<<<<<<<<<< @@ -17462,7 +17494,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_6fields_fields(PyArray_Desc return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":256 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":256 * return PyDataType_FIELDS(self) * * @property # <<<<<<<<<<<<<< @@ -17476,7 +17508,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_5names_names(PyArray_Descr PyObject *__pyx_t_1; __Pyx_RefNannySetupContext("names", 0); - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":258 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":258 * @property * cdef inline tuple names(self): * return PyDataType_NAMES(self) # <<<<<<<<<<<<<< @@ -17489,7 +17521,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_5names_names(PyArray_Descr __pyx_r = ((PyObject*)__pyx_t_1); goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":256 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":256 * return PyDataType_FIELDS(self) * * @property # <<<<<<<<<<<<<< @@ -17504,7 +17536,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_5names_names(PyArray_Descr return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":263 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":263 * # valid (the pointer can be NULL). Most users should access * # this field via the inline helper method PyDataType_SHAPE. * @property # <<<<<<<<<<<<<< @@ -17515,7 +17547,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_5names_names(PyArray_Descr static CYTHON_INLINE PyArray_ArrayDescr *__pyx_f_5numpy_5dtype_8subarray_subarray(PyArray_Descr *__pyx_v_self) { PyArray_ArrayDescr *__pyx_r; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":265 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":265 * @property * cdef inline PyArray_ArrayDescr* subarray(self) noexcept nogil: * return PyDataType_SUBARRAY(self) # <<<<<<<<<<<<<< @@ -17525,7 +17557,7 @@ static CYTHON_INLINE PyArray_ArrayDescr *__pyx_f_5numpy_5dtype_8subarray_subarra __pyx_r = PyDataType_SUBARRAY(__pyx_v_self); goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":263 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":263 * # valid (the pointer can be NULL). Most users should access * # this field via the inline helper method PyDataType_SHAPE. * @property # <<<<<<<<<<<<<< @@ -17538,7 +17570,7 @@ static CYTHON_INLINE PyArray_ArrayDescr *__pyx_f_5numpy_5dtype_8subarray_subarra return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":267 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":267 * return PyDataType_SUBARRAY(self) * * @property # <<<<<<<<<<<<<< @@ -17549,7 +17581,7 @@ static CYTHON_INLINE PyArray_ArrayDescr *__pyx_f_5numpy_5dtype_8subarray_subarra static CYTHON_INLINE npy_uint64 __pyx_f_5numpy_5dtype_5flags_flags(PyArray_Descr *__pyx_v_self) { npy_uint64 __pyx_r; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":270 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":270 * cdef inline npy_uint64 flags(self) noexcept nogil: * """The data types flags.""" * return PyDataType_FLAGS(self) # <<<<<<<<<<<<<< @@ -17559,7 +17591,7 @@ static CYTHON_INLINE npy_uint64 __pyx_f_5numpy_5dtype_5flags_flags(PyArray_Descr __pyx_r = PyDataType_FLAGS(__pyx_v_self); goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":267 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":267 * return PyDataType_SUBARRAY(self) * * @property # <<<<<<<<<<<<<< @@ -17572,7 +17604,7 @@ static CYTHON_INLINE npy_uint64 __pyx_f_5numpy_5dtype_5flags_flags(PyArray_Descr return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":279 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":279 * ctypedef class numpy.broadcast [object PyArrayMultiIterObject, check_size ignore]: * * @property # <<<<<<<<<<<<<< @@ -17583,7 +17615,7 @@ static CYTHON_INLINE npy_uint64 __pyx_f_5numpy_5dtype_5flags_flags(PyArray_Descr static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_7numiter_numiter(PyArrayMultiIterObject *__pyx_v_self) { int __pyx_r; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":282 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":282 * cdef inline int numiter(self) noexcept nogil: * """The number of arrays that need to be broadcast to the same shape.""" * return PyArray_MultiIter_NUMITER(self) # <<<<<<<<<<<<<< @@ -17593,7 +17625,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_7numiter_numiter(PyArrayMulti __pyx_r = PyArray_MultiIter_NUMITER(__pyx_v_self); goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":279 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":279 * ctypedef class numpy.broadcast [object PyArrayMultiIterObject, check_size ignore]: * * @property # <<<<<<<<<<<<<< @@ -17606,7 +17638,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_7numiter_numiter(PyArrayMulti return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":284 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":284 * return PyArray_MultiIter_NUMITER(self) * * @property # <<<<<<<<<<<<<< @@ -17617,7 +17649,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_7numiter_numiter(PyArrayMulti static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_4size_size(PyArrayMultiIterObject *__pyx_v_self) { npy_intp __pyx_r; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":287 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":287 * cdef inline npy_intp size(self) noexcept nogil: * """The total broadcasted size.""" * return PyArray_MultiIter_SIZE(self) # <<<<<<<<<<<<<< @@ -17627,7 +17659,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_4size_size(PyArrayMultiI __pyx_r = PyArray_MultiIter_SIZE(__pyx_v_self); goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":284 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":284 * return PyArray_MultiIter_NUMITER(self) * * @property # <<<<<<<<<<<<<< @@ -17640,7 +17672,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_4size_size(PyArrayMultiI return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":289 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":289 * return PyArray_MultiIter_SIZE(self) * * @property # <<<<<<<<<<<<<< @@ -17651,7 +17683,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_4size_size(PyArrayMultiI static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_5index_index(PyArrayMultiIterObject *__pyx_v_self) { npy_intp __pyx_r; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":292 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":292 * cdef inline npy_intp index(self) noexcept nogil: * """The current (1-d) index into the broadcasted result.""" * return PyArray_MultiIter_INDEX(self) # <<<<<<<<<<<<<< @@ -17661,7 +17693,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_5index_index(PyArrayMult __pyx_r = PyArray_MultiIter_INDEX(__pyx_v_self); goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":289 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":289 * return PyArray_MultiIter_SIZE(self) * * @property # <<<<<<<<<<<<<< @@ -17674,7 +17706,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_5index_index(PyArrayMult return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":294 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":294 * return PyArray_MultiIter_INDEX(self) * * @property # <<<<<<<<<<<<<< @@ -17685,7 +17717,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_5index_index(PyArrayMult static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_2nd_nd(PyArrayMultiIterObject *__pyx_v_self) { int __pyx_r; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":297 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":297 * cdef inline int nd(self) noexcept nogil: * """The number of dimensions in the broadcasted result.""" * return PyArray_MultiIter_NDIM(self) # <<<<<<<<<<<<<< @@ -17695,7 +17727,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_2nd_nd(PyArrayMultiIterObject __pyx_r = PyArray_MultiIter_NDIM(__pyx_v_self); goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":294 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":294 * return PyArray_MultiIter_INDEX(self) * * @property # <<<<<<<<<<<<<< @@ -17708,7 +17740,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_2nd_nd(PyArrayMultiIterObject return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":299 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":299 * return PyArray_MultiIter_NDIM(self) * * @property # <<<<<<<<<<<<<< @@ -17719,7 +17751,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_2nd_nd(PyArrayMultiIterObject static CYTHON_INLINE npy_intp *__pyx_f_5numpy_9broadcast_10dimensions_dimensions(PyArrayMultiIterObject *__pyx_v_self) { npy_intp *__pyx_r; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":302 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":302 * cdef inline npy_intp* dimensions(self) noexcept nogil: * """The shape of the broadcasted result.""" * return PyArray_MultiIter_DIMS(self) # <<<<<<<<<<<<<< @@ -17729,7 +17761,7 @@ static CYTHON_INLINE npy_intp *__pyx_f_5numpy_9broadcast_10dimensions_dimensions __pyx_r = PyArray_MultiIter_DIMS(__pyx_v_self); goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":299 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":299 * return PyArray_MultiIter_NDIM(self) * * @property # <<<<<<<<<<<<<< @@ -17742,7 +17774,7 @@ static CYTHON_INLINE npy_intp *__pyx_f_5numpy_9broadcast_10dimensions_dimensions return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":304 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":304 * return PyArray_MultiIter_DIMS(self) * * @property # <<<<<<<<<<<<<< @@ -17753,7 +17785,7 @@ static CYTHON_INLINE npy_intp *__pyx_f_5numpy_9broadcast_10dimensions_dimensions static CYTHON_INLINE void **__pyx_f_5numpy_9broadcast_5iters_iters(PyArrayMultiIterObject *__pyx_v_self) { void **__pyx_r; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":308 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":308 * """An array of iterator objects that holds the iterators for the arrays to be broadcast together. * On return, the iterators are adjusted for broadcasting.""" * return PyArray_MultiIter_ITERS(self) # <<<<<<<<<<<<<< @@ -17763,7 +17795,7 @@ static CYTHON_INLINE void **__pyx_f_5numpy_9broadcast_5iters_iters(PyArrayMultiI __pyx_r = PyArray_MultiIter_ITERS(__pyx_v_self); goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":304 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":304 * return PyArray_MultiIter_DIMS(self) * * @property # <<<<<<<<<<<<<< @@ -17776,7 +17808,7 @@ static CYTHON_INLINE void **__pyx_f_5numpy_9broadcast_5iters_iters(PyArrayMultiI return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":322 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":322 * # Instead, we use properties that map to the corresponding C-API functions. * * @property # <<<<<<<<<<<<<< @@ -17787,7 +17819,7 @@ static CYTHON_INLINE void **__pyx_f_5numpy_9broadcast_5iters_iters(PyArrayMultiI static CYTHON_INLINE PyObject *__pyx_f_5numpy_7ndarray_4base_base(PyArrayObject *__pyx_v_self) { PyObject *__pyx_r; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":326 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":326 * """Returns a borrowed reference to the object owning the data/memory. * """ * return PyArray_BASE(self) # <<<<<<<<<<<<<< @@ -17797,7 +17829,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_7ndarray_4base_base(PyArrayObject __pyx_r = PyArray_BASE(__pyx_v_self); goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":322 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":322 * # Instead, we use properties that map to the corresponding C-API functions. * * @property # <<<<<<<<<<<<<< @@ -17810,7 +17842,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_7ndarray_4base_base(PyArrayObject return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":328 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":328 * return PyArray_BASE(self) * * @property # <<<<<<<<<<<<<< @@ -17824,7 +17856,7 @@ static CYTHON_INLINE PyArray_Descr *__pyx_f_5numpy_7ndarray_5descr_descr(PyArray PyArray_Descr *__pyx_t_1; __Pyx_RefNannySetupContext("descr", 0); - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":332 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":332 * """Returns an owned reference to the dtype of the array. * """ * return PyArray_DESCR(self) # <<<<<<<<<<<<<< @@ -17837,7 +17869,7 @@ static CYTHON_INLINE PyArray_Descr *__pyx_f_5numpy_7ndarray_5descr_descr(PyArray __pyx_r = ((PyArray_Descr *)__pyx_t_1); goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":328 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":328 * return PyArray_BASE(self) * * @property # <<<<<<<<<<<<<< @@ -17852,7 +17884,7 @@ static CYTHON_INLINE PyArray_Descr *__pyx_f_5numpy_7ndarray_5descr_descr(PyArray return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":334 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":334 * return PyArray_DESCR(self) * * @property # <<<<<<<<<<<<<< @@ -17863,7 +17895,7 @@ static CYTHON_INLINE PyArray_Descr *__pyx_f_5numpy_7ndarray_5descr_descr(PyArray static CYTHON_INLINE int __pyx_f_5numpy_7ndarray_4ndim_ndim(PyArrayObject *__pyx_v_self) { int __pyx_r; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":338 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":338 * """Returns the number of dimensions in the array. * """ * return PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -17873,7 +17905,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_7ndarray_4ndim_ndim(PyArrayObject *__pyx __pyx_r = PyArray_NDIM(__pyx_v_self); goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":334 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":334 * return PyArray_DESCR(self) * * @property # <<<<<<<<<<<<<< @@ -17886,7 +17918,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_7ndarray_4ndim_ndim(PyArrayObject *__pyx return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":340 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":340 * return PyArray_NDIM(self) * * @property # <<<<<<<<<<<<<< @@ -17897,7 +17929,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_7ndarray_4ndim_ndim(PyArrayObject *__pyx static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_5shape_shape(PyArrayObject *__pyx_v_self) { npy_intp *__pyx_r; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":346 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":346 * Can return NULL for 0-dimensional arrays. * """ * return PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -17907,7 +17939,7 @@ static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_5shape_shape(PyArrayObjec __pyx_r = PyArray_DIMS(__pyx_v_self); goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":340 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":340 * return PyArray_NDIM(self) * * @property # <<<<<<<<<<<<<< @@ -17920,7 +17952,7 @@ static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_5shape_shape(PyArrayObjec return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":348 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":348 * return PyArray_DIMS(self) * * @property # <<<<<<<<<<<<<< @@ -17931,7 +17963,7 @@ static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_5shape_shape(PyArrayObjec static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_7strides_strides(PyArrayObject *__pyx_v_self) { npy_intp *__pyx_r; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":353 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":353 * The number of elements matches the number of dimensions of the array (ndim). * """ * return PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -17941,7 +17973,7 @@ static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_7strides_strides(PyArrayO __pyx_r = PyArray_STRIDES(__pyx_v_self); goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":348 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":348 * return PyArray_DIMS(self) * * @property # <<<<<<<<<<<<<< @@ -17954,7 +17986,7 @@ static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_7strides_strides(PyArrayO return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":355 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":355 * return PyArray_STRIDES(self) * * @property # <<<<<<<<<<<<<< @@ -17965,7 +17997,7 @@ static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_7strides_strides(PyArrayO static CYTHON_INLINE npy_intp __pyx_f_5numpy_7ndarray_4size_size(PyArrayObject *__pyx_v_self) { npy_intp __pyx_r; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":359 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":359 * """Returns the total size (in number of elements) of the array. * """ * return PyArray_SIZE(self) # <<<<<<<<<<<<<< @@ -17975,7 +18007,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_7ndarray_4size_size(PyArrayObject * __pyx_r = PyArray_SIZE(__pyx_v_self); goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":355 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":355 * return PyArray_STRIDES(self) * * @property # <<<<<<<<<<<<<< @@ -17988,7 +18020,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_7ndarray_4size_size(PyArrayObject * return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":361 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":361 * return PyArray_SIZE(self) * * @property # <<<<<<<<<<<<<< @@ -17999,7 +18031,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_7ndarray_4size_size(PyArrayObject * static CYTHON_INLINE char *__pyx_f_5numpy_7ndarray_4data_data(PyArrayObject *__pyx_v_self) { char *__pyx_r; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":368 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":368 * of `PyArray_DATA()` instead, which returns a 'void*'. * """ * return PyArray_BYTES(self) # <<<<<<<<<<<<<< @@ -18009,7 +18041,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy_7ndarray_4data_data(PyArrayObject *__p __pyx_r = PyArray_BYTES(__pyx_v_self); goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":361 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":361 * return PyArray_SIZE(self) * * @property # <<<<<<<<<<<<<< @@ -18022,7 +18054,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy_7ndarray_4data_data(PyArrayObject *__p return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":776 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":776 * ctypedef long double complex clongdouble_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -18039,7 +18071,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":777 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":777 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -18053,7 +18085,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":776 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":776 * ctypedef long double complex clongdouble_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -18072,7 +18104,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":779 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":779 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -18089,7 +18121,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":780 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":780 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -18103,7 +18135,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":779 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":779 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -18122,7 +18154,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":782 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":782 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -18139,7 +18171,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":783 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":783 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -18153,7 +18185,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":782 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":782 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -18172,7 +18204,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":785 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":785 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -18189,7 +18221,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":786 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":786 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -18203,7 +18235,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":785 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":785 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -18222,7 +18254,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":788 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":788 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -18239,7 +18271,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":789 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":789 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -18253,7 +18285,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":788 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":788 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -18272,7 +18304,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":791 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":791 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<< @@ -18287,7 +18319,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__ PyObject *__pyx_t_2; __Pyx_RefNannySetupContext("PyDataType_SHAPE", 0); - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":792 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":792 * * cdef inline tuple PyDataType_SHAPE(dtype d): * if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<< @@ -18297,7 +18329,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__ __pyx_t_1 = PyDataType_HASSUBARRAY(__pyx_v_d); if (__pyx_t_1) { - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":793 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":793 * cdef inline tuple PyDataType_SHAPE(dtype d): * if PyDataType_HASSUBARRAY(d): * return d.subarray.shape # <<<<<<<<<<<<<< @@ -18310,7 +18342,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__ __pyx_r = ((PyObject*)__pyx_t_2); goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":792 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":792 * * cdef inline tuple PyDataType_SHAPE(dtype d): * if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<< @@ -18319,7 +18351,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__ */ } - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":795 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":795 * return d.subarray.shape * else: * return () # <<<<<<<<<<<<<< @@ -18333,7 +18365,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__ goto __pyx_L0; } - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":791 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":791 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<< @@ -18348,7 +18380,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__ return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":994 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":994 * int _import_umath() except -1 * * cdef inline void set_array_base(ndarray arr, object base) except *: # <<<<<<<<<<<<<< @@ -18362,7 +18394,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a const char *__pyx_filename = NULL; int __pyx_clineno = 0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":995 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":995 * * cdef inline void set_array_base(ndarray arr, object base) except *: * Py_INCREF(base) # important to do this before stealing the reference below! # <<<<<<<<<<<<<< @@ -18371,7 +18403,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":996 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":996 * cdef inline void set_array_base(ndarray arr, object base) except *: * Py_INCREF(base) # important to do this before stealing the reference below! * PyArray_SetBaseObject(arr, base) # <<<<<<<<<<<<<< @@ -18380,7 +18412,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_t_1 = PyArray_SetBaseObject(__pyx_v_arr, __pyx_v_base); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(2, 996, __pyx_L1_error) - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":994 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":994 * int _import_umath() except -1 * * cdef inline void set_array_base(ndarray arr, object base) except *: # <<<<<<<<<<<<<< @@ -18395,7 +18427,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_L0:; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":998 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":998 * PyArray_SetBaseObject(arr, base) * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -18410,7 +18442,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":999 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":999 * * cdef inline object get_array_base(ndarray arr): * base = PyArray_BASE(arr) # <<<<<<<<<<<<<< @@ -18419,7 +18451,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py */ __pyx_v_base = PyArray_BASE(__pyx_v_arr); - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1000 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1000 * cdef inline object get_array_base(ndarray arr): * base = PyArray_BASE(arr) * if base is NULL: # <<<<<<<<<<<<<< @@ -18429,7 +18461,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = (__pyx_v_base == NULL); if (__pyx_t_1) { - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1001 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1001 * base = PyArray_BASE(arr) * if base is NULL: * return None # <<<<<<<<<<<<<< @@ -18440,7 +18472,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1000 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1000 * cdef inline object get_array_base(ndarray arr): * base = PyArray_BASE(arr) * if base is NULL: # <<<<<<<<<<<<<< @@ -18449,7 +18481,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py */ } - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1002 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1002 * if base is NULL: * return None * return base # <<<<<<<<<<<<<< @@ -18461,7 +18493,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_r = ((PyObject *)__pyx_v_base); goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":998 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":998 * PyArray_SetBaseObject(arr, base) * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -18476,7 +18508,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1006 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1006 * # Versions of the import_* functions which are more suitable for * # Cython code. * cdef inline int import_array() except -1: # <<<<<<<<<<<<<< @@ -18502,7 +18534,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) { int __pyx_clineno = 0; __Pyx_RefNannySetupContext("import_array", 0); - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1007 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1007 * # Cython code. * cdef inline int import_array() except -1: * try: # <<<<<<<<<<<<<< @@ -18518,7 +18550,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) { __Pyx_XGOTREF(__pyx_t_3); /*try:*/ { - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1008 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1008 * cdef inline int import_array() except -1: * try: * __pyx_import_array() # <<<<<<<<<<<<<< @@ -18527,7 +18559,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) { */ __pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 1008, __pyx_L3_error) - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1007 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1007 * # Cython code. * cdef inline int import_array() except -1: * try: # <<<<<<<<<<<<<< @@ -18541,7 +18573,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) { goto __pyx_L8_try_end; __pyx_L3_error:; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1009 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1009 * try: * __pyx_import_array() * except Exception: # <<<<<<<<<<<<<< @@ -18556,7 +18588,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) { __Pyx_XGOTREF(__pyx_t_6); __Pyx_XGOTREF(__pyx_t_7); - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1010 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1010 * __pyx_import_array() * except Exception: * raise ImportError("numpy._core.multiarray failed to import") # <<<<<<<<<<<<<< @@ -18578,7 +18610,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) { } goto __pyx_L5_except_error; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1007 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1007 * # Cython code. * cdef inline int import_array() except -1: * try: # <<<<<<<<<<<<<< @@ -18594,7 +18626,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) { __pyx_L8_try_end:; } - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1006 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1006 * # Versions of the import_* functions which are more suitable for * # Cython code. * cdef inline int import_array() except -1: # <<<<<<<<<<<<<< @@ -18618,7 +18650,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) { return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1012 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1012 * raise ImportError("numpy._core.multiarray failed to import") * * cdef inline int import_umath() except -1: # <<<<<<<<<<<<<< @@ -18644,7 +18676,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) { int __pyx_clineno = 0; __Pyx_RefNannySetupContext("import_umath", 0); - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1013 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1013 * * cdef inline int import_umath() except -1: * try: # <<<<<<<<<<<<<< @@ -18660,7 +18692,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) { __Pyx_XGOTREF(__pyx_t_3); /*try:*/ { - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1014 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1014 * cdef inline int import_umath() except -1: * try: * _import_umath() # <<<<<<<<<<<<<< @@ -18669,7 +18701,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) { */ __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 1014, __pyx_L3_error) - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1013 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1013 * * cdef inline int import_umath() except -1: * try: # <<<<<<<<<<<<<< @@ -18683,7 +18715,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) { goto __pyx_L8_try_end; __pyx_L3_error:; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1015 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1015 * try: * _import_umath() * except Exception: # <<<<<<<<<<<<<< @@ -18698,7 +18730,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) { __Pyx_XGOTREF(__pyx_t_6); __Pyx_XGOTREF(__pyx_t_7); - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1016 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1016 * _import_umath() * except Exception: * raise ImportError("numpy._core.umath failed to import") # <<<<<<<<<<<<<< @@ -18720,7 +18752,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) { } goto __pyx_L5_except_error; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1013 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1013 * * cdef inline int import_umath() except -1: * try: # <<<<<<<<<<<<<< @@ -18736,7 +18768,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) { __pyx_L8_try_end:; } - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1012 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1012 * raise ImportError("numpy._core.multiarray failed to import") * * cdef inline int import_umath() except -1: # <<<<<<<<<<<<<< @@ -18760,7 +18792,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) { return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1018 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1018 * raise ImportError("numpy._core.umath failed to import") * * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< @@ -18786,7 +18818,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) { int __pyx_clineno = 0; __Pyx_RefNannySetupContext("import_ufunc", 0); - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1019 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1019 * * cdef inline int import_ufunc() except -1: * try: # <<<<<<<<<<<<<< @@ -18802,7 +18834,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) { __Pyx_XGOTREF(__pyx_t_3); /*try:*/ { - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1020 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1020 * cdef inline int import_ufunc() except -1: * try: * _import_umath() # <<<<<<<<<<<<<< @@ -18811,7 +18843,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) { */ __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 1020, __pyx_L3_error) - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1019 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1019 * * cdef inline int import_ufunc() except -1: * try: # <<<<<<<<<<<<<< @@ -18825,7 +18857,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) { goto __pyx_L8_try_end; __pyx_L3_error:; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1021 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1021 * try: * _import_umath() * except Exception: # <<<<<<<<<<<<<< @@ -18840,7 +18872,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) { __Pyx_XGOTREF(__pyx_t_6); __Pyx_XGOTREF(__pyx_t_7); - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1022 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1022 * _import_umath() * except Exception: * raise ImportError("numpy._core.umath failed to import") # <<<<<<<<<<<<<< @@ -18862,7 +18894,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) { } goto __pyx_L5_except_error; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1019 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1019 * * cdef inline int import_ufunc() except -1: * try: # <<<<<<<<<<<<<< @@ -18878,7 +18910,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) { __pyx_L8_try_end:; } - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1018 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1018 * raise ImportError("numpy._core.umath failed to import") * * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< @@ -18902,7 +18934,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) { return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1025 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1025 * * * cdef inline bint is_timedelta64_object(object obj) noexcept: # <<<<<<<<<<<<<< @@ -18913,7 +18945,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) { static CYTHON_INLINE int __pyx_f_5numpy_is_timedelta64_object(PyObject *__pyx_v_obj) { int __pyx_r; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1037 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1037 * bool * """ * return PyObject_TypeCheck(obj, &PyTimedeltaArrType_Type) # <<<<<<<<<<<<<< @@ -18923,7 +18955,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_is_timedelta64_object(PyObject *__pyx_v_ __pyx_r = PyObject_TypeCheck(__pyx_v_obj, (&PyTimedeltaArrType_Type)); goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1025 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1025 * * * cdef inline bint is_timedelta64_object(object obj) noexcept: # <<<<<<<<<<<<<< @@ -18936,7 +18968,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_is_timedelta64_object(PyObject *__pyx_v_ return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1040 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1040 * * * cdef inline bint is_datetime64_object(object obj) noexcept: # <<<<<<<<<<<<<< @@ -18947,7 +18979,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_is_timedelta64_object(PyObject *__pyx_v_ static CYTHON_INLINE int __pyx_f_5numpy_is_datetime64_object(PyObject *__pyx_v_obj) { int __pyx_r; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1052 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1052 * bool * """ * return PyObject_TypeCheck(obj, &PyDatetimeArrType_Type) # <<<<<<<<<<<<<< @@ -18957,7 +18989,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_is_datetime64_object(PyObject *__pyx_v_o __pyx_r = PyObject_TypeCheck(__pyx_v_obj, (&PyDatetimeArrType_Type)); goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1040 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1040 * * * cdef inline bint is_datetime64_object(object obj) noexcept: # <<<<<<<<<<<<<< @@ -18970,7 +19002,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_is_datetime64_object(PyObject *__pyx_v_o return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1055 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1055 * * * cdef inline npy_datetime get_datetime64_value(object obj) noexcept nogil: # <<<<<<<<<<<<<< @@ -18981,7 +19013,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_is_datetime64_object(PyObject *__pyx_v_o static CYTHON_INLINE npy_datetime __pyx_f_5numpy_get_datetime64_value(PyObject *__pyx_v_obj) { npy_datetime __pyx_r; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1062 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1062 * also needed. That can be found using `get_datetime64_unit`. * """ * return (obj).obval # <<<<<<<<<<<<<< @@ -18991,7 +19023,7 @@ static CYTHON_INLINE npy_datetime __pyx_f_5numpy_get_datetime64_value(PyObject * __pyx_r = ((PyDatetimeScalarObject *)__pyx_v_obj)->obval; goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1055 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1055 * * * cdef inline npy_datetime get_datetime64_value(object obj) noexcept nogil: # <<<<<<<<<<<<<< @@ -19004,7 +19036,7 @@ static CYTHON_INLINE npy_datetime __pyx_f_5numpy_get_datetime64_value(PyObject * return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1065 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1065 * * * cdef inline npy_timedelta get_timedelta64_value(object obj) noexcept nogil: # <<<<<<<<<<<<<< @@ -19015,7 +19047,7 @@ static CYTHON_INLINE npy_datetime __pyx_f_5numpy_get_datetime64_value(PyObject * static CYTHON_INLINE npy_timedelta __pyx_f_5numpy_get_timedelta64_value(PyObject *__pyx_v_obj) { npy_timedelta __pyx_r; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1069 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1069 * returns the int64 value underlying scalar numpy timedelta64 object * """ * return (obj).obval # <<<<<<<<<<<<<< @@ -19025,7 +19057,7 @@ static CYTHON_INLINE npy_timedelta __pyx_f_5numpy_get_timedelta64_value(PyObject __pyx_r = ((PyTimedeltaScalarObject *)__pyx_v_obj)->obval; goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1065 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1065 * * * cdef inline npy_timedelta get_timedelta64_value(object obj) noexcept nogil: # <<<<<<<<<<<<<< @@ -19038,7 +19070,7 @@ static CYTHON_INLINE npy_timedelta __pyx_f_5numpy_get_timedelta64_value(PyObject return __pyx_r; } -/* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1072 +/* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1072 * * * cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) noexcept nogil: # <<<<<<<<<<<<<< @@ -19049,7 +19081,7 @@ static CYTHON_INLINE npy_timedelta __pyx_f_5numpy_get_timedelta64_value(PyObject static CYTHON_INLINE NPY_DATETIMEUNIT __pyx_f_5numpy_get_datetime64_unit(PyObject *__pyx_v_obj) { NPY_DATETIMEUNIT __pyx_r; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1076 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1076 * returns the unit part of the dtype for a numpy datetime64 object. * """ * return (obj).obmeta.base # <<<<<<<<<<<<<< @@ -19059,7 +19091,7 @@ static CYTHON_INLINE NPY_DATETIMEUNIT __pyx_f_5numpy_get_datetime64_unit(PyObjec __pyx_r = ((NPY_DATETIMEUNIT)((PyDatetimeScalarObject *)__pyx_v_obj)->obmeta.base); goto __pyx_L0; - /* "../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1072 + /* "../../../../../../miniconda3/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1072 * * * cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) noexcept nogil: # <<<<<<<<<<<<<< @@ -19072,7 +19104,7 @@ static CYTHON_INLINE NPY_DATETIMEUNIT __pyx_f_5numpy_get_datetime64_unit(PyObjec return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":30 +/* "blokus_cython.pyx":30 * cdef public dict _occupied_cache * * def __init__(self, int size): # <<<<<<<<<<<<<< @@ -19081,8 +19113,8 @@ static CYTHON_INLINE NPY_DATETIMEUNIT __pyx_f_5numpy_get_datetime64_unit(PyObjec */ /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static int __pyx_pw_13blokus_cython_5Board_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_13blokus_cython_5Board_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_size; CYTHON_UNUSED Py_ssize_t __pyx_nargs; CYTHON_UNUSED PyObject *const *__pyx_kwvalues; @@ -19134,11 +19166,11 @@ static int __pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_1__init__(PyObject for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board___init__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)__pyx_v_self), __pyx_v_size); + __pyx_r = __pyx_pf_13blokus_cython_5Board___init__(((struct __pyx_obj_13blokus_cython_Board *)__pyx_v_self), __pyx_v_size); /* function exit code */ for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { @@ -19148,7 +19180,7 @@ static int __pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_1__init__(PyObject return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board___init__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, int __pyx_v_size) { +static int __pyx_pf_13blokus_cython_5Board___init__(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, int __pyx_v_size) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -19164,7 +19196,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board___init__(struct __ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__init__", 0); - /* "blokus_gym/core/blokus_cython.pyx":31 + /* "blokus_cython.pyx":31 * * def __init__(self, int size): * self.size = size # <<<<<<<<<<<<<< @@ -19173,7 +19205,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board___init__(struct __ */ __pyx_v_self->size = __pyx_v_size; - /* "blokus_gym/core/blokus_cython.pyx":32 + /* "blokus_cython.pyx":32 * def __init__(self, int size): * self.size = size * self.grid = np.zeros((size, size), dtype=np.int8) # <<<<<<<<<<<<<< @@ -19236,7 +19268,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board___init__(struct __ __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL; - /* "blokus_gym/core/blokus_cython.pyx":33 + /* "blokus_cython.pyx":33 * self.size = size * self.grid = np.zeros((size, size), dtype=np.int8) * self._occupied_cache = {} # <<<<<<<<<<<<<< @@ -19251,7 +19283,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board___init__(struct __ __pyx_v_self->_occupied_cache = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":30 + /* "blokus_cython.pyx":30 * cdef public dict _occupied_cache * * def __init__(self, int size): # <<<<<<<<<<<<<< @@ -19270,14 +19302,14 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board___init__(struct __ __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __PYX_XCLEAR_MEMVIEW(&__pyx_t_8, 1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":35 +/* "blokus_cython.pyx":35 * self._occupied_cache = {} * * def place(self, int player_idx, list squares): # <<<<<<<<<<<<<< @@ -19286,16 +19318,16 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board___init__(struct __ */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_3place(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_5Board_3place(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -PyDoc_STRVAR(__pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_2place, "Place a player's piece on the board."); -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_3place = {"place", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_3place, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_2place}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_3place(PyObject *__pyx_v_self, +PyDoc_STRVAR(__pyx_doc_13blokus_cython_5Board_2place, "Place a player's piece on the board."); +static PyMethodDef __pyx_mdef_13blokus_cython_5Board_3place = {"place", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_3place, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_5Board_2place}; +static PyObject *__pyx_pw_13blokus_cython_5Board_3place(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -19365,12 +19397,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.place", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.place", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_squares), (&PyList_Type), 1, "squares", 1))) __PYX_ERR(0, 35, __pyx_L1_error) - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_2place(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)__pyx_v_self), __pyx_v_player_idx, __pyx_v_squares); + __pyx_r = __pyx_pf_13blokus_cython_5Board_2place(((struct __pyx_obj_13blokus_cython_Board *)__pyx_v_self), __pyx_v_player_idx, __pyx_v_squares); /* function exit code */ goto __pyx_L0; @@ -19389,7 +19421,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_2place(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, int __pyx_v_player_idx, PyObject *__pyx_v_squares) { +static PyObject *__pyx_pf_13blokus_cython_5Board_2place(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, int __pyx_v_player_idx, PyObject *__pyx_v_squares) { int __pyx_v_x; int __pyx_v_y; __Pyx_memviewslice __pyx_v_grid_view = { 0, 0, { 0 }, { 0 }, { 0 } }; @@ -19416,7 +19448,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_2place(struc int __pyx_clineno = 0; __Pyx_RefNannySetupContext("place", 0); - /* "blokus_gym/core/blokus_cython.pyx":38 + /* "blokus_cython.pyx":38 * """Place a player's piece on the board.""" * cdef int x, y * cdef cnp.int8_t[:, :] grid_view = self.grid # <<<<<<<<<<<<<< @@ -19430,7 +19462,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_2place(struc __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL; - /* "blokus_gym/core/blokus_cython.pyx":39 + /* "blokus_cython.pyx":39 * cdef int x, y * cdef cnp.int8_t[:, :] grid_view = self.grid * cdef int size = self.size # <<<<<<<<<<<<<< @@ -19440,7 +19472,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_2place(struc __pyx_t_2 = __pyx_v_self->size; __pyx_v_size = __pyx_t_2; - /* "blokus_gym/core/blokus_cython.pyx":41 + /* "blokus_cython.pyx":41 * cdef int size = self.size * * for x, y in squares: # <<<<<<<<<<<<<< @@ -19522,7 +19554,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_2place(struc __pyx_v_x = __pyx_t_2; __pyx_v_y = __pyx_t_10; - /* "blokus_gym/core/blokus_cython.pyx":42 + /* "blokus_cython.pyx":42 * * for x, y in squares: * if 0 <= x < size and 0 <= y < size: # <<<<<<<<<<<<<< @@ -19546,7 +19578,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_2place(struc __pyx_L8_bool_binop_done:; if (__pyx_t_11) { - /* "blokus_gym/core/blokus_cython.pyx":43 + /* "blokus_cython.pyx":43 * for x, y in squares: * if 0 <= x < size and 0 <= y < size: * grid_view[y, x] = player_idx # <<<<<<<<<<<<<< @@ -19570,7 +19602,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_2place(struc } *((__pyx_t_5numpy_int8_t *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_grid_view.data + __pyx_t_13 * __pyx_v_grid_view.strides[0]) ) + __pyx_t_14 * __pyx_v_grid_view.strides[1]) )) = __pyx_v_player_idx; - /* "blokus_gym/core/blokus_cython.pyx":42 + /* "blokus_cython.pyx":42 * * for x, y in squares: * if 0 <= x < size and 0 <= y < size: # <<<<<<<<<<<<<< @@ -19579,7 +19611,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_2place(struc */ } - /* "blokus_gym/core/blokus_cython.pyx":41 + /* "blokus_cython.pyx":41 * cdef int size = self.size * * for x, y in squares: # <<<<<<<<<<<<<< @@ -19589,7 +19621,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_2place(struc } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":46 + /* "blokus_cython.pyx":46 * * # Update occupied cache incrementally * if player_idx in self._occupied_cache: # <<<<<<<<<<<<<< @@ -19606,7 +19638,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_2place(struc __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_11) { - /* "blokus_gym/core/blokus_cython.pyx":47 + /* "blokus_cython.pyx":47 * # Update occupied cache incrementally * if player_idx in self._occupied_cache: * self._occupied_cache[player_idx].update(squares) # <<<<<<<<<<<<<< @@ -19635,7 +19667,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_2place(struc } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":46 + /* "blokus_cython.pyx":46 * * # Update occupied cache incrementally * if player_idx in self._occupied_cache: # <<<<<<<<<<<<<< @@ -19644,7 +19676,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_2place(struc */ } - /* "blokus_gym/core/blokus_cython.pyx":35 + /* "blokus_cython.pyx":35 * self._occupied_cache = {} * * def place(self, int player_idx, list squares): # <<<<<<<<<<<<<< @@ -19662,7 +19694,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_2place(struc __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.place", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.place", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __PYX_XCLEAR_MEMVIEW(&__pyx_v_grid_view, 1); @@ -19671,7 +19703,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_2place(struc return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":49 +/* "blokus_cython.pyx":49 * self._occupied_cache[player_idx].update(squares) * * def clear(self) -> None: # <<<<<<<<<<<<<< @@ -19680,16 +19712,16 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_2place(struc */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_5clear(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_5Board_5clear(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -PyDoc_STRVAR(__pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_4clear, "Reset the board to empty."); -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_5clear = {"clear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_5clear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_4clear}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_5clear(PyObject *__pyx_v_self, +PyDoc_STRVAR(__pyx_doc_13blokus_cython_5Board_4clear, "Reset the board to empty."); +static PyMethodDef __pyx_mdef_13blokus_cython_5Board_5clear = {"clear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_5clear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_5Board_4clear}; +static PyObject *__pyx_pw_13blokus_cython_5Board_5clear(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -19715,14 +19747,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; if (unlikely(__pyx_kwds_len < 0)) return NULL; if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("clear", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4clear(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_5Board_4clear(((struct __pyx_obj_13blokus_cython_Board *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4clear(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_5Board_4clear(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -19734,7 +19766,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4clear(struc int __pyx_clineno = 0; __Pyx_RefNannySetupContext("clear", 0); - /* "blokus_gym/core/blokus_cython.pyx":51 + /* "blokus_cython.pyx":51 * def clear(self) -> None: * """Reset the board to empty.""" * self.grid.fill(0) # <<<<<<<<<<<<<< @@ -19757,7 +19789,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4clear(struc } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":49 + /* "blokus_cython.pyx":49 * self._occupied_cache[player_idx].update(squares) * * def clear(self) -> None: # <<<<<<<<<<<<<< @@ -19772,7 +19804,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4clear(struc __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.clear", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.clear", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -19780,7 +19812,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4clear(struc return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":53 +/* "blokus_cython.pyx":53 * self.grid.fill(0) * * def is_empty(self, int x, int y) -> bool: # <<<<<<<<<<<<<< @@ -19789,16 +19821,16 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4clear(struc */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_7is_empty(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_5Board_7is_empty(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -PyDoc_STRVAR(__pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_6is_empty, "Check if a cell is empty (C-level fast)."); -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_7is_empty = {"is_empty", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_7is_empty, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_6is_empty}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_7is_empty(PyObject *__pyx_v_self, +PyDoc_STRVAR(__pyx_doc_13blokus_cython_5Board_6is_empty, "Check if a cell is empty (C-level fast)."); +static PyMethodDef __pyx_mdef_13blokus_cython_5Board_7is_empty = {"is_empty", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_7is_empty, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_5Board_6is_empty}; +static PyObject *__pyx_pw_13blokus_cython_5Board_7is_empty(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -19868,11 +19900,11 @@ PyObject *__pyx_args, PyObject *__pyx_kwds for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.is_empty", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.is_empty", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_6is_empty(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)__pyx_v_self), __pyx_v_x, __pyx_v_y); + __pyx_r = __pyx_pf_13blokus_cython_5Board_6is_empty(((struct __pyx_obj_13blokus_cython_Board *)__pyx_v_self), __pyx_v_x, __pyx_v_y); /* function exit code */ for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { @@ -19882,7 +19914,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_6is_empty(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, int __pyx_v_x, int __pyx_v_y) { +static PyObject *__pyx_pf_13blokus_cython_5Board_6is_empty(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, int __pyx_v_x, int __pyx_v_y) { __Pyx_memviewslice __pyx_v_grid_view = { 0, 0, { 0 }, { 0 }, { 0 } }; int __pyx_v_size; PyObject *__pyx_r = NULL; @@ -19899,7 +19931,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_6is_empty(st int __pyx_clineno = 0; __Pyx_RefNannySetupContext("is_empty", 0); - /* "blokus_gym/core/blokus_cython.pyx":55 + /* "blokus_cython.pyx":55 * def is_empty(self, int x, int y) -> bool: * """Check if a cell is empty (C-level fast).""" * cdef cnp.int8_t[:, :] grid_view = self.grid # <<<<<<<<<<<<<< @@ -19913,7 +19945,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_6is_empty(st __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL; - /* "blokus_gym/core/blokus_cython.pyx":56 + /* "blokus_cython.pyx":56 * """Check if a cell is empty (C-level fast).""" * cdef cnp.int8_t[:, :] grid_view = self.grid * cdef int size = self.size # <<<<<<<<<<<<<< @@ -19923,7 +19955,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_6is_empty(st __pyx_t_2 = __pyx_v_self->size; __pyx_v_size = __pyx_t_2; - /* "blokus_gym/core/blokus_cython.pyx":58 + /* "blokus_cython.pyx":58 * cdef int size = self.size * * if 0 <= x < size and 0 <= y < size: # <<<<<<<<<<<<<< @@ -19947,7 +19979,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_6is_empty(st __pyx_L4_bool_binop_done:; if (__pyx_t_3) { - /* "blokus_gym/core/blokus_cython.pyx":59 + /* "blokus_cython.pyx":59 * * if 0 <= x < size and 0 <= y < size: * return grid_view[y, x] == 0 # <<<<<<<<<<<<<< @@ -19976,7 +20008,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_6is_empty(st __pyx_t_7 = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":58 + /* "blokus_cython.pyx":58 * cdef int size = self.size * * if 0 <= x < size and 0 <= y < size: # <<<<<<<<<<<<<< @@ -19985,7 +20017,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_6is_empty(st */ } - /* "blokus_gym/core/blokus_cython.pyx":60 + /* "blokus_cython.pyx":60 * if 0 <= x < size and 0 <= y < size: * return grid_view[y, x] == 0 * return False # <<<<<<<<<<<<<< @@ -19997,7 +20029,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_6is_empty(st __pyx_r = Py_False; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":53 + /* "blokus_cython.pyx":53 * self.grid.fill(0) * * def is_empty(self, int x, int y) -> bool: # <<<<<<<<<<<<<< @@ -20009,7 +20041,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_6is_empty(st __pyx_L1_error:; __PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1); __Pyx_XDECREF(__pyx_t_7); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.is_empty", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.is_empty", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __PYX_XCLEAR_MEMVIEW(&__pyx_v_grid_view, 1); @@ -20018,7 +20050,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_6is_empty(st return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":62 +/* "blokus_cython.pyx":62 * return False * * def in_bounds(self, int x, int y) -> bool: # <<<<<<<<<<<<<< @@ -20027,16 +20059,16 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_6is_empty(st */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_9in_bounds(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_5Board_9in_bounds(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -PyDoc_STRVAR(__pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_8in_bounds, "Check if coordinates are within the board (C-level fast)."); -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_9in_bounds = {"in_bounds", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_9in_bounds, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_8in_bounds}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_9in_bounds(PyObject *__pyx_v_self, +PyDoc_STRVAR(__pyx_doc_13blokus_cython_5Board_8in_bounds, "Check if coordinates are within the board (C-level fast)."); +static PyMethodDef __pyx_mdef_13blokus_cython_5Board_9in_bounds = {"in_bounds", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_9in_bounds, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_5Board_8in_bounds}; +static PyObject *__pyx_pw_13blokus_cython_5Board_9in_bounds(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -20106,11 +20138,11 @@ PyObject *__pyx_args, PyObject *__pyx_kwds for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.in_bounds", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.in_bounds", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_8in_bounds(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)__pyx_v_self), __pyx_v_x, __pyx_v_y); + __pyx_r = __pyx_pf_13blokus_cython_5Board_8in_bounds(((struct __pyx_obj_13blokus_cython_Board *)__pyx_v_self), __pyx_v_x, __pyx_v_y); /* function exit code */ for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { @@ -20120,7 +20152,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_8in_bounds(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, int __pyx_v_x, int __pyx_v_y) { +static PyObject *__pyx_pf_13blokus_cython_5Board_8in_bounds(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, int __pyx_v_x, int __pyx_v_y) { int __pyx_v_size; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations @@ -20133,7 +20165,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_8in_bounds(s int __pyx_clineno = 0; __Pyx_RefNannySetupContext("in_bounds", 0); - /* "blokus_gym/core/blokus_cython.pyx":64 + /* "blokus_cython.pyx":64 * def in_bounds(self, int x, int y) -> bool: * """Check if coordinates are within the board (C-level fast).""" * cdef int size = self.size # <<<<<<<<<<<<<< @@ -20143,7 +20175,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_8in_bounds(s __pyx_t_1 = __pyx_v_self->size; __pyx_v_size = __pyx_t_1; - /* "blokus_gym/core/blokus_cython.pyx":65 + /* "blokus_cython.pyx":65 * """Check if coordinates are within the board (C-level fast).""" * cdef int size = self.size * return 0 <= x < size and 0 <= y < size # <<<<<<<<<<<<<< @@ -20176,7 +20208,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_8in_bounds(s __pyx_t_2 = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":62 + /* "blokus_cython.pyx":62 * return False * * def in_bounds(self, int x, int y) -> bool: # <<<<<<<<<<<<<< @@ -20188,7 +20220,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_8in_bounds(s __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.in_bounds", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.in_bounds", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -20196,7 +20228,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_8in_bounds(s return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":67 +/* "blokus_cython.pyx":67 * return 0 <= x < size and 0 <= y < size * * def has_overlap(self, list squares) -> bool: # <<<<<<<<<<<<<< @@ -20205,16 +20237,16 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_8in_bounds(s */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_11has_overlap(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_5Board_11has_overlap(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -PyDoc_STRVAR(__pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_10has_overlap, "Check if any square is already occupied (C-level fast)."); -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_11has_overlap = {"has_overlap", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_11has_overlap, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_10has_overlap}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_11has_overlap(PyObject *__pyx_v_self, +PyDoc_STRVAR(__pyx_doc_13blokus_cython_5Board_10has_overlap, "Check if any square is already occupied (C-level fast)."); +static PyMethodDef __pyx_mdef_13blokus_cython_5Board_11has_overlap = {"has_overlap", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_11has_overlap, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_5Board_10has_overlap}; +static PyObject *__pyx_pw_13blokus_cython_5Board_11has_overlap(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -20276,12 +20308,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.has_overlap", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.has_overlap", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_squares), (&PyList_Type), 1, "squares", 1))) __PYX_ERR(0, 67, __pyx_L1_error) - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_10has_overlap(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)__pyx_v_self), __pyx_v_squares); + __pyx_r = __pyx_pf_13blokus_cython_5Board_10has_overlap(((struct __pyx_obj_13blokus_cython_Board *)__pyx_v_self), __pyx_v_squares); /* function exit code */ goto __pyx_L0; @@ -20300,7 +20332,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_10has_overlap(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, PyObject *__pyx_v_squares) { +static PyObject *__pyx_pf_13blokus_cython_5Board_10has_overlap(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, PyObject *__pyx_v_squares) { int __pyx_v_x; int __pyx_v_y; __Pyx_memviewslice __pyx_v_grid_view = { 0, 0, { 0 }, { 0 }, { 0 } }; @@ -20327,7 +20359,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_10has_overla int __pyx_clineno = 0; __Pyx_RefNannySetupContext("has_overlap", 0); - /* "blokus_gym/core/blokus_cython.pyx":70 + /* "blokus_cython.pyx":70 * """Check if any square is already occupied (C-level fast).""" * cdef int x, y * cdef cnp.int8_t[:, :] grid_view = self.grid # <<<<<<<<<<<<<< @@ -20341,7 +20373,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_10has_overla __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL; - /* "blokus_gym/core/blokus_cython.pyx":71 + /* "blokus_cython.pyx":71 * cdef int x, y * cdef cnp.int8_t[:, :] grid_view = self.grid * cdef int size = self.size # <<<<<<<<<<<<<< @@ -20351,7 +20383,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_10has_overla __pyx_t_2 = __pyx_v_self->size; __pyx_v_size = __pyx_t_2; - /* "blokus_gym/core/blokus_cython.pyx":73 + /* "blokus_cython.pyx":73 * cdef int size = self.size * * for x, y in squares: # <<<<<<<<<<<<<< @@ -20433,7 +20465,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_10has_overla __pyx_v_x = __pyx_t_2; __pyx_v_y = __pyx_t_10; - /* "blokus_gym/core/blokus_cython.pyx":74 + /* "blokus_cython.pyx":74 * * for x, y in squares: * if not (0 <= x < size and 0 <= y < size) or grid_view[y, x] != 0: # <<<<<<<<<<<<<< @@ -20481,7 +20513,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_10has_overla __pyx_L8_bool_binop_done:; if (__pyx_t_11) { - /* "blokus_gym/core/blokus_cython.pyx":75 + /* "blokus_cython.pyx":75 * for x, y in squares: * if not (0 <= x < size and 0 <= y < size) or grid_view[y, x] != 0: * return True # <<<<<<<<<<<<<< @@ -20494,7 +20526,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_10has_overla __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":74 + /* "blokus_cython.pyx":74 * * for x, y in squares: * if not (0 <= x < size and 0 <= y < size) or grid_view[y, x] != 0: # <<<<<<<<<<<<<< @@ -20503,7 +20535,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_10has_overla */ } - /* "blokus_gym/core/blokus_cython.pyx":73 + /* "blokus_cython.pyx":73 * cdef int size = self.size * * for x, y in squares: # <<<<<<<<<<<<<< @@ -20513,7 +20545,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_10has_overla } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":76 + /* "blokus_cython.pyx":76 * if not (0 <= x < size and 0 <= y < size) or grid_view[y, x] != 0: * return True * return False # <<<<<<<<<<<<<< @@ -20525,7 +20557,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_10has_overla __pyx_r = Py_False; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":67 + /* "blokus_cython.pyx":67 * return 0 <= x < size and 0 <= y < size * * def has_overlap(self, list squares) -> bool: # <<<<<<<<<<<<<< @@ -20541,7 +20573,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_10has_overla __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.has_overlap", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.has_overlap", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __PYX_XCLEAR_MEMVIEW(&__pyx_v_grid_view, 1); @@ -20550,7 +20582,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_10has_overla return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":78 +/* "blokus_cython.pyx":78 * return False * * cdef bint is_cell_empty(self, int x, int y): # <<<<<<<<<<<<<< @@ -20558,7 +20590,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_10has_overla * cdef cnp.int8_t[:, :] grid_view = self.grid */ -static int __pyx_f_10blokus_gym_4core_13blokus_cython_5Board_is_cell_empty(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, int __pyx_v_x, int __pyx_v_y) { +static int __pyx_f_13blokus_cython_5Board_is_cell_empty(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, int __pyx_v_x, int __pyx_v_y) { __Pyx_memviewslice __pyx_v_grid_view = { 0, 0, { 0 }, { 0 }, { 0 } }; int __pyx_v_size; int __pyx_r; @@ -20572,7 +20604,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_5Board_is_cell_empty(struc const char *__pyx_filename = NULL; int __pyx_clineno = 0; - /* "blokus_gym/core/blokus_cython.pyx":80 + /* "blokus_cython.pyx":80 * cdef bint is_cell_empty(self, int x, int y): * """Check if a cell is empty (C-level fast, inlineable).""" * cdef cnp.int8_t[:, :] grid_view = self.grid # <<<<<<<<<<<<<< @@ -20586,7 +20618,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_5Board_is_cell_empty(struc __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL; - /* "blokus_gym/core/blokus_cython.pyx":81 + /* "blokus_cython.pyx":81 * """Check if a cell is empty (C-level fast, inlineable).""" * cdef cnp.int8_t[:, :] grid_view = self.grid * cdef int size = self.size # <<<<<<<<<<<<<< @@ -20596,7 +20628,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_5Board_is_cell_empty(struc __pyx_t_2 = __pyx_v_self->size; __pyx_v_size = __pyx_t_2; - /* "blokus_gym/core/blokus_cython.pyx":83 + /* "blokus_cython.pyx":83 * cdef int size = self.size * * return 0 <= x < size and 0 <= y < size and grid_view[y, x] == 0 # <<<<<<<<<<<<<< @@ -20642,7 +20674,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_5Board_is_cell_empty(struc __pyx_r = __pyx_t_3; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":78 + /* "blokus_cython.pyx":78 * return False * * cdef bint is_cell_empty(self, int x, int y): # <<<<<<<<<<<<<< @@ -20653,14 +20685,14 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_5Board_is_cell_empty(struc /* function exit code */ __pyx_L1_error:; __PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.is_cell_empty", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.is_cell_empty", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __PYX_XCLEAR_MEMVIEW(&__pyx_v_grid_view, 1); return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":85 +/* "blokus_cython.pyx":85 * return 0 <= x < size and 0 <= y < size and grid_view[y, x] == 0 * * def get_cell(self, int x, int y) -> int: # <<<<<<<<<<<<<< @@ -20669,16 +20701,16 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_5Board_is_cell_empty(struc */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_13get_cell(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_5Board_13get_cell(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -PyDoc_STRVAR(__pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_12get_cell, "Get the player index at a cell (0 = empty)."); -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_13get_cell = {"get_cell", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_13get_cell, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_12get_cell}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_13get_cell(PyObject *__pyx_v_self, +PyDoc_STRVAR(__pyx_doc_13blokus_cython_5Board_12get_cell, "Get the player index at a cell (0 = empty)."); +static PyMethodDef __pyx_mdef_13blokus_cython_5Board_13get_cell = {"get_cell", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_13get_cell, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_5Board_12get_cell}; +static PyObject *__pyx_pw_13blokus_cython_5Board_13get_cell(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -20748,11 +20780,11 @@ PyObject *__pyx_args, PyObject *__pyx_kwds for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.get_cell", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.get_cell", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_12get_cell(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)__pyx_v_self), __pyx_v_x, __pyx_v_y); + __pyx_r = __pyx_pf_13blokus_cython_5Board_12get_cell(((struct __pyx_obj_13blokus_cython_Board *)__pyx_v_self), __pyx_v_x, __pyx_v_y); /* function exit code */ for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { @@ -20762,7 +20794,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_12get_cell(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, int __pyx_v_x, int __pyx_v_y) { +static PyObject *__pyx_pf_13blokus_cython_5Board_12get_cell(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, int __pyx_v_x, int __pyx_v_y) { __Pyx_memviewslice __pyx_v_grid_view = { 0, 0, { 0 }, { 0 }, { 0 } }; int __pyx_v_size; PyObject *__pyx_r = NULL; @@ -20779,7 +20811,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_12get_cell(s int __pyx_clineno = 0; __Pyx_RefNannySetupContext("get_cell", 0); - /* "blokus_gym/core/blokus_cython.pyx":87 + /* "blokus_cython.pyx":87 * def get_cell(self, int x, int y) -> int: * """Get the player index at a cell (0 = empty).""" * cdef cnp.int8_t[:, :] grid_view = self.grid # <<<<<<<<<<<<<< @@ -20793,7 +20825,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_12get_cell(s __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL; - /* "blokus_gym/core/blokus_cython.pyx":88 + /* "blokus_cython.pyx":88 * """Get the player index at a cell (0 = empty).""" * cdef cnp.int8_t[:, :] grid_view = self.grid * cdef int size = self.size # <<<<<<<<<<<<<< @@ -20803,7 +20835,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_12get_cell(s __pyx_t_2 = __pyx_v_self->size; __pyx_v_size = __pyx_t_2; - /* "blokus_gym/core/blokus_cython.pyx":90 + /* "blokus_cython.pyx":90 * cdef int size = self.size * * if 0 <= x < size and 0 <= y < size: # <<<<<<<<<<<<<< @@ -20827,7 +20859,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_12get_cell(s __pyx_L4_bool_binop_done:; if (__pyx_t_3) { - /* "blokus_gym/core/blokus_cython.pyx":91 + /* "blokus_cython.pyx":91 * * if 0 <= x < size and 0 <= y < size: * return grid_view[y, x] # <<<<<<<<<<<<<< @@ -20857,7 +20889,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_12get_cell(s __pyx_t_7 = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":90 + /* "blokus_cython.pyx":90 * cdef int size = self.size * * if 0 <= x < size and 0 <= y < size: # <<<<<<<<<<<<<< @@ -20866,7 +20898,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_12get_cell(s */ } - /* "blokus_gym/core/blokus_cython.pyx":92 + /* "blokus_cython.pyx":92 * if 0 <= x < size and 0 <= y < size: * return grid_view[y, x] * return 0 # <<<<<<<<<<<<<< @@ -20878,7 +20910,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_12get_cell(s __pyx_r = __pyx_mstate_global->__pyx_int_0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":85 + /* "blokus_cython.pyx":85 * return 0 <= x < size and 0 <= y < size and grid_view[y, x] == 0 * * def get_cell(self, int x, int y) -> int: # <<<<<<<<<<<<<< @@ -20890,7 +20922,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_12get_cell(s __pyx_L1_error:; __PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1); __Pyx_XDECREF(__pyx_t_7); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.get_cell", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.get_cell", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __PYX_XCLEAR_MEMVIEW(&__pyx_v_grid_view, 1); @@ -20899,7 +20931,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_12get_cell(s return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":94 +/* "blokus_cython.pyx":94 * return 0 * * def get_player_squares(self, int player_idx) -> list: # <<<<<<<<<<<<<< @@ -20908,16 +20940,16 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_12get_cell(s */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_15get_player_squares(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_5Board_15get_player_squares(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -PyDoc_STRVAR(__pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_14get_player_squares, "Get all squares occupied by a player."); -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_15get_player_squares = {"get_player_squares", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_15get_player_squares, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_14get_player_squares}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_15get_player_squares(PyObject *__pyx_v_self, +PyDoc_STRVAR(__pyx_doc_13blokus_cython_5Board_14get_player_squares, "Get all squares occupied by a player."); +static PyMethodDef __pyx_mdef_13blokus_cython_5Board_15get_player_squares = {"get_player_squares", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_15get_player_squares, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_5Board_14get_player_squares}; +static PyObject *__pyx_pw_13blokus_cython_5Board_15get_player_squares(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -20979,11 +21011,11 @@ PyObject *__pyx_args, PyObject *__pyx_kwds for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.get_player_squares", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.get_player_squares", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_14get_player_squares(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)__pyx_v_self), __pyx_v_player_idx); + __pyx_r = __pyx_pf_13blokus_cython_5Board_14get_player_squares(((struct __pyx_obj_13blokus_cython_Board *)__pyx_v_self), __pyx_v_player_idx); /* function exit code */ for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { @@ -20993,7 +21025,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_14get_player_squares(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, int __pyx_v_player_idx) { +static PyObject *__pyx_pf_13blokus_cython_5Board_14get_player_squares(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, int __pyx_v_player_idx) { __Pyx_memviewslice __pyx_v_grid_view = { 0, 0, { 0 }, { 0 }, { 0 } }; int __pyx_v_size; PyObject *__pyx_v_result = 0; @@ -21021,7 +21053,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_14get_player int __pyx_clineno = 0; __Pyx_RefNannySetupContext("get_player_squares", 0); - /* "blokus_gym/core/blokus_cython.pyx":96 + /* "blokus_cython.pyx":96 * def get_player_squares(self, int player_idx) -> list: * """Get all squares occupied by a player.""" * cdef cnp.int8_t[:, :] grid_view = self.grid # <<<<<<<<<<<<<< @@ -21035,7 +21067,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_14get_player __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL; - /* "blokus_gym/core/blokus_cython.pyx":97 + /* "blokus_cython.pyx":97 * """Get all squares occupied by a player.""" * cdef cnp.int8_t[:, :] grid_view = self.grid * cdef int size = self.size # <<<<<<<<<<<<<< @@ -21045,7 +21077,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_14get_player __pyx_t_2 = __pyx_v_self->size; __pyx_v_size = __pyx_t_2; - /* "blokus_gym/core/blokus_cython.pyx":98 + /* "blokus_cython.pyx":98 * cdef cnp.int8_t[:, :] grid_view = self.grid * cdef int size = self.size * cdef list result = [] # <<<<<<<<<<<<<< @@ -21057,7 +21089,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_14get_player __pyx_v_result = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":101 + /* "blokus_cython.pyx":101 * cdef int x, y * * for y in range(size): # <<<<<<<<<<<<<< @@ -21069,7 +21101,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_14get_player for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_y = __pyx_t_5; - /* "blokus_gym/core/blokus_cython.pyx":102 + /* "blokus_cython.pyx":102 * * for y in range(size): * for x in range(size): # <<<<<<<<<<<<<< @@ -21081,7 +21113,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_14get_player for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_x = __pyx_t_8; - /* "blokus_gym/core/blokus_cython.pyx":103 + /* "blokus_cython.pyx":103 * for y in range(size): * for x in range(size): * if grid_view[y, x] == player_idx: # <<<<<<<<<<<<<< @@ -21106,7 +21138,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_14get_player __pyx_t_12 = ((*((__pyx_t_5numpy_int8_t *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_grid_view.data + __pyx_t_9 * __pyx_v_grid_view.strides[0]) ) + __pyx_t_10 * __pyx_v_grid_view.strides[1]) ))) == __pyx_v_player_idx); if (__pyx_t_12) { - /* "blokus_gym/core/blokus_cython.pyx":104 + /* "blokus_cython.pyx":104 * for x in range(size): * if grid_view[y, x] == player_idx: * result.append((x, y)) # <<<<<<<<<<<<<< @@ -21128,7 +21160,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_14get_player __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_result, __pyx_t_14); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 104, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - /* "blokus_gym/core/blokus_cython.pyx":103 + /* "blokus_cython.pyx":103 * for y in range(size): * for x in range(size): * if grid_view[y, x] == player_idx: # <<<<<<<<<<<<<< @@ -21139,7 +21171,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_14get_player } } - /* "blokus_gym/core/blokus_cython.pyx":105 + /* "blokus_cython.pyx":105 * if grid_view[y, x] == player_idx: * result.append((x, y)) * return result # <<<<<<<<<<<<<< @@ -21151,7 +21183,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_14get_player __pyx_r = __pyx_v_result; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":94 + /* "blokus_cython.pyx":94 * return 0 * * def get_player_squares(self, int player_idx) -> list: # <<<<<<<<<<<<<< @@ -21165,7 +21197,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_14get_player __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_13); __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.get_player_squares", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.get_player_squares", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __PYX_XCLEAR_MEMVIEW(&__pyx_v_grid_view, 1); @@ -21175,7 +21207,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_14get_player return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":107 +/* "blokus_cython.pyx":107 * return result * * def get_player_occupied(self, int player_idx) -> set: # <<<<<<<<<<<<<< @@ -21184,16 +21216,16 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_14get_player */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_17get_player_occupied(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_5Board_17get_player_occupied(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -PyDoc_STRVAR(__pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_16get_player_occupied, "Get all squares occupied by a player as a set."); -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_17get_player_occupied = {"get_player_occupied", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_17get_player_occupied, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_16get_player_occupied}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_17get_player_occupied(PyObject *__pyx_v_self, +PyDoc_STRVAR(__pyx_doc_13blokus_cython_5Board_16get_player_occupied, "Get all squares occupied by a player as a set."); +static PyMethodDef __pyx_mdef_13blokus_cython_5Board_17get_player_occupied = {"get_player_occupied", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_17get_player_occupied, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_5Board_16get_player_occupied}; +static PyObject *__pyx_pw_13blokus_cython_5Board_17get_player_occupied(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -21255,11 +21287,11 @@ PyObject *__pyx_args, PyObject *__pyx_kwds for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.get_player_occupied", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.get_player_occupied", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_16get_player_occupied(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)__pyx_v_self), __pyx_v_player_idx); + __pyx_r = __pyx_pf_13blokus_cython_5Board_16get_player_occupied(((struct __pyx_obj_13blokus_cython_Board *)__pyx_v_self), __pyx_v_player_idx); /* function exit code */ for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { @@ -21269,7 +21301,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_16get_player_occupied(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, int __pyx_v_player_idx) { +static PyObject *__pyx_pf_13blokus_cython_5Board_16get_player_occupied(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, int __pyx_v_player_idx) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -21282,7 +21314,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_16get_player int __pyx_clineno = 0; __Pyx_RefNannySetupContext("get_player_occupied", 0); - /* "blokus_gym/core/blokus_cython.pyx":109 + /* "blokus_cython.pyx":109 * def get_player_occupied(self, int player_idx) -> set: * """Get all squares occupied by a player as a set.""" * if player_idx not in self._occupied_cache: # <<<<<<<<<<<<<< @@ -21299,7 +21331,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_16get_player __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { - /* "blokus_gym/core/blokus_cython.pyx":110 + /* "blokus_cython.pyx":110 * """Get all squares occupied by a player as a set.""" * if player_idx not in self._occupied_cache: * self._occupied_cache[player_idx] = set(self.get_player_squares(player_idx)) # <<<<<<<<<<<<<< @@ -21332,7 +21364,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_16get_player __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":109 + /* "blokus_cython.pyx":109 * def get_player_occupied(self, int player_idx) -> set: * """Get all squares occupied by a player as a set.""" * if player_idx not in self._occupied_cache: # <<<<<<<<<<<<<< @@ -21341,7 +21373,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_16get_player */ } - /* "blokus_gym/core/blokus_cython.pyx":111 + /* "blokus_cython.pyx":111 * if player_idx not in self._occupied_cache: * self._occupied_cache[player_idx] = set(self.get_player_squares(player_idx)) * return self._occupied_cache[player_idx] # <<<<<<<<<<<<<< @@ -21363,7 +21395,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_16get_player __pyx_t_1 = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":107 + /* "blokus_cython.pyx":107 * return result * * def get_player_occupied(self, int player_idx) -> set: # <<<<<<<<<<<<<< @@ -21376,7 +21408,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_16get_player __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.get_player_occupied", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.get_player_occupied", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -21384,7 +21416,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_16get_player return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":113 +/* "blokus_cython.pyx":113 * return self._occupied_cache[player_idx] * * def get_player_corners(self, int player_idx) -> set: # <<<<<<<<<<<<<< @@ -21393,16 +21425,16 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_16get_player */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_19get_player_corners(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_5Board_19get_player_corners(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -PyDoc_STRVAR(__pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_18get_player_corners, "Get all corner cells adjacent to a player's pieces."); -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_19get_player_corners = {"get_player_corners", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_19get_player_corners, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_18get_player_corners}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_19get_player_corners(PyObject *__pyx_v_self, +PyDoc_STRVAR(__pyx_doc_13blokus_cython_5Board_18get_player_corners, "Get all corner cells adjacent to a player's pieces."); +static PyMethodDef __pyx_mdef_13blokus_cython_5Board_19get_player_corners = {"get_player_corners", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_19get_player_corners, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_5Board_18get_player_corners}; +static PyObject *__pyx_pw_13blokus_cython_5Board_19get_player_corners(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -21464,11 +21496,11 @@ PyObject *__pyx_args, PyObject *__pyx_kwds for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.get_player_corners", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.get_player_corners", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_18get_player_corners(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)__pyx_v_self), __pyx_v_player_idx); + __pyx_r = __pyx_pf_13blokus_cython_5Board_18get_player_corners(((struct __pyx_obj_13blokus_cython_Board *)__pyx_v_self), __pyx_v_player_idx); /* function exit code */ for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { @@ -21478,7 +21510,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_18get_player_corners(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, int __pyx_v_player_idx) { +static PyObject *__pyx_pf_13blokus_cython_5Board_18get_player_corners(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, int __pyx_v_player_idx) { __Pyx_memviewslice __pyx_v_grid_view = { 0, 0, { 0 }, { 0 }, { 0 } }; int __pyx_v_size; PyObject *__pyx_v_corners = 0; @@ -21513,7 +21545,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_18get_player int __pyx_clineno = 0; __Pyx_RefNannySetupContext("get_player_corners", 0); - /* "blokus_gym/core/blokus_cython.pyx":115 + /* "blokus_cython.pyx":115 * def get_player_corners(self, int player_idx) -> set: * """Get all corner cells adjacent to a player's pieces.""" * cdef cnp.int8_t[:, :] grid_view = self.grid # <<<<<<<<<<<<<< @@ -21527,7 +21559,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_18get_player __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL; - /* "blokus_gym/core/blokus_cython.pyx":116 + /* "blokus_cython.pyx":116 * """Get all corner cells adjacent to a player's pieces.""" * cdef cnp.int8_t[:, :] grid_view = self.grid * cdef int size = self.size # <<<<<<<<<<<<<< @@ -21537,7 +21569,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_18get_player __pyx_t_2 = __pyx_v_self->size; __pyx_v_size = __pyx_t_2; - /* "blokus_gym/core/blokus_cython.pyx":117 + /* "blokus_cython.pyx":117 * cdef cnp.int8_t[:, :] grid_view = self.grid * cdef int size = self.size * cdef set corners = set() # <<<<<<<<<<<<<< @@ -21549,7 +21581,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_18get_player __pyx_v_corners = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":118 + /* "blokus_cython.pyx":118 * cdef int size = self.size * cdef set corners = set() * cdef list player_squares = self.get_player_squares(player_idx) # <<<<<<<<<<<<<< @@ -21573,7 +21605,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_18get_player __pyx_v_player_squares = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":121 + /* "blokus_cython.pyx":121 * cdef int x, y, dx, dy, cx, cy * * for x, y in player_squares: # <<<<<<<<<<<<<< @@ -21655,7 +21687,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_18get_player __pyx_v_x = __pyx_t_2; __pyx_v_y = __pyx_t_11; - /* "blokus_gym/core/blokus_cython.pyx":122 + /* "blokus_cython.pyx":122 * * for x, y in player_squares: * for dx, dy in [(-1, -1), (1, -1), (-1, 1), (1, 1)]: # <<<<<<<<<<<<<< @@ -21704,7 +21736,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_18get_player __pyx_v_dx = __pyx_t_11; __pyx_v_dy = __pyx_t_2; - /* "blokus_gym/core/blokus_cython.pyx":123 + /* "blokus_cython.pyx":123 * for x, y in player_squares: * for dx, dy in [(-1, -1), (1, -1), (-1, 1), (1, 1)]: * cx, cy = x + dx, y + dy # <<<<<<<<<<<<<< @@ -21716,7 +21748,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_18get_player __pyx_v_cx = __pyx_t_2; __pyx_v_cy = __pyx_t_11; - /* "blokus_gym/core/blokus_cython.pyx":124 + /* "blokus_cython.pyx":124 * for dx, dy in [(-1, -1), (1, -1), (-1, 1), (1, 1)]: * cx, cy = x + dx, y + dy * if 0 <= cx < size and 0 <= cy < size and grid_view[cy, cx] == 0: # <<<<<<<<<<<<<< @@ -21761,7 +21793,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_18get_player __pyx_L10_bool_binop_done:; if (__pyx_t_13) { - /* "blokus_gym/core/blokus_cython.pyx":125 + /* "blokus_cython.pyx":125 * cx, cy = x + dx, y + dy * if 0 <= cx < size and 0 <= cy < size and grid_view[cy, cx] == 0: * corners.add((cx, cy)) # <<<<<<<<<<<<<< @@ -21783,7 +21815,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_18get_player __pyx_t_17 = PySet_Add(__pyx_v_corners, __pyx_t_4); if (unlikely(__pyx_t_17 == ((int)-1))) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":124 + /* "blokus_cython.pyx":124 * for dx, dy in [(-1, -1), (1, -1), (-1, 1), (1, 1)]: * cx, cy = x + dx, y + dy * if 0 <= cx < size and 0 <= cy < size and grid_view[cy, cx] == 0: # <<<<<<<<<<<<<< @@ -21792,7 +21824,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_18get_player */ } - /* "blokus_gym/core/blokus_cython.pyx":122 + /* "blokus_cython.pyx":122 * * for x, y in player_squares: * for dx, dy in [(-1, -1), (1, -1), (-1, 1), (1, 1)]: # <<<<<<<<<<<<<< @@ -21802,7 +21834,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_18get_player } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "blokus_gym/core/blokus_cython.pyx":121 + /* "blokus_cython.pyx":121 * cdef int x, y, dx, dy, cx, cy * * for x, y in player_squares: # <<<<<<<<<<<<<< @@ -21812,7 +21844,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_18get_player } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":126 + /* "blokus_cython.pyx":126 * if 0 <= cx < size and 0 <= cy < size and grid_view[cy, cx] == 0: * corners.add((cx, cy)) * return corners # <<<<<<<<<<<<<< @@ -21824,7 +21856,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_18get_player __pyx_r = __pyx_v_corners; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":113 + /* "blokus_cython.pyx":113 * return self._occupied_cache[player_idx] * * def get_player_corners(self, int player_idx) -> set: # <<<<<<<<<<<<<< @@ -21840,7 +21872,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_18get_player __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.get_player_corners", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.get_player_corners", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __PYX_XCLEAR_MEMVIEW(&__pyx_v_grid_view, 1); @@ -21851,7 +21883,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_18get_player return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":128 +/* "blokus_cython.pyx":128 * return corners * * def get_occupied(self) -> set: # <<<<<<<<<<<<<< @@ -21860,16 +21892,16 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_18get_player */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_21get_occupied(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_5Board_21get_occupied(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -PyDoc_STRVAR(__pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_20get_occupied, "Get all occupied cells."); -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_21get_occupied = {"get_occupied", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_21get_occupied, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_20get_occupied}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_21get_occupied(PyObject *__pyx_v_self, +PyDoc_STRVAR(__pyx_doc_13blokus_cython_5Board_20get_occupied, "Get all occupied cells."); +static PyMethodDef __pyx_mdef_13blokus_cython_5Board_21get_occupied = {"get_occupied", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_21get_occupied, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_5Board_20get_occupied}; +static PyObject *__pyx_pw_13blokus_cython_5Board_21get_occupied(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -21895,14 +21927,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; if (unlikely(__pyx_kwds_len < 0)) return NULL; if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("get_occupied", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_20get_occupied(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_5Board_20get_occupied(((struct __pyx_obj_13blokus_cython_Board *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_20get_occupied(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_5Board_20get_occupied(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self) { __Pyx_memviewslice __pyx_v_grid_view = { 0, 0, { 0 }, { 0 }, { 0 } }; int __pyx_v_size; PyObject *__pyx_v_result = 0; @@ -21930,7 +21962,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_20get_occupi int __pyx_clineno = 0; __Pyx_RefNannySetupContext("get_occupied", 0); - /* "blokus_gym/core/blokus_cython.pyx":130 + /* "blokus_cython.pyx":130 * def get_occupied(self) -> set: * """Get all occupied cells.""" * cdef cnp.int8_t[:, :] grid_view = self.grid # <<<<<<<<<<<<<< @@ -21944,7 +21976,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_20get_occupi __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL; - /* "blokus_gym/core/blokus_cython.pyx":131 + /* "blokus_cython.pyx":131 * """Get all occupied cells.""" * cdef cnp.int8_t[:, :] grid_view = self.grid * cdef int size = self.size # <<<<<<<<<<<<<< @@ -21954,7 +21986,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_20get_occupi __pyx_t_2 = __pyx_v_self->size; __pyx_v_size = __pyx_t_2; - /* "blokus_gym/core/blokus_cython.pyx":132 + /* "blokus_cython.pyx":132 * cdef cnp.int8_t[:, :] grid_view = self.grid * cdef int size = self.size * cdef set result = set() # <<<<<<<<<<<<<< @@ -21966,7 +21998,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_20get_occupi __pyx_v_result = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":135 + /* "blokus_cython.pyx":135 * cdef int x, y * * for y in range(size): # <<<<<<<<<<<<<< @@ -21978,7 +22010,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_20get_occupi for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_y = __pyx_t_5; - /* "blokus_gym/core/blokus_cython.pyx":136 + /* "blokus_cython.pyx":136 * * for y in range(size): * for x in range(size): # <<<<<<<<<<<<<< @@ -21990,7 +22022,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_20get_occupi for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_x = __pyx_t_8; - /* "blokus_gym/core/blokus_cython.pyx":137 + /* "blokus_cython.pyx":137 * for y in range(size): * for x in range(size): * if grid_view[y, x] != 0: # <<<<<<<<<<<<<< @@ -22015,7 +22047,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_20get_occupi __pyx_t_12 = ((*((__pyx_t_5numpy_int8_t *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_grid_view.data + __pyx_t_9 * __pyx_v_grid_view.strides[0]) ) + __pyx_t_10 * __pyx_v_grid_view.strides[1]) ))) != 0); if (__pyx_t_12) { - /* "blokus_gym/core/blokus_cython.pyx":138 + /* "blokus_cython.pyx":138 * for x in range(size): * if grid_view[y, x] != 0: * result.add((x, y)) # <<<<<<<<<<<<<< @@ -22037,7 +22069,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_20get_occupi __pyx_t_15 = PySet_Add(__pyx_v_result, __pyx_t_14); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 138, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - /* "blokus_gym/core/blokus_cython.pyx":137 + /* "blokus_cython.pyx":137 * for y in range(size): * for x in range(size): * if grid_view[y, x] != 0: # <<<<<<<<<<<<<< @@ -22048,7 +22080,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_20get_occupi } } - /* "blokus_gym/core/blokus_cython.pyx":139 + /* "blokus_cython.pyx":139 * if grid_view[y, x] != 0: * result.add((x, y)) * return result # <<<<<<<<<<<<<< @@ -22060,7 +22092,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_20get_occupi __pyx_r = __pyx_v_result; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":128 + /* "blokus_cython.pyx":128 * return corners * * def get_occupied(self) -> set: # <<<<<<<<<<<<<< @@ -22074,7 +22106,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_20get_occupi __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_13); __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.get_occupied", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.get_occupied", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __PYX_XCLEAR_MEMVIEW(&__pyx_v_grid_view, 1); @@ -22084,7 +22116,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_20get_occupi return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":141 +/* "blokus_cython.pyx":141 * return result * * def is_full(self) -> bool: # <<<<<<<<<<<<<< @@ -22093,16 +22125,16 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_20get_occupi */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_23is_full(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_5Board_23is_full(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -PyDoc_STRVAR(__pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_22is_full, "Check if the board is completely full."); -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_23is_full = {"is_full", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_23is_full, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_22is_full}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_23is_full(PyObject *__pyx_v_self, +PyDoc_STRVAR(__pyx_doc_13blokus_cython_5Board_22is_full, "Check if the board is completely full."); +static PyMethodDef __pyx_mdef_13blokus_cython_5Board_23is_full = {"is_full", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_23is_full, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_5Board_22is_full}; +static PyObject *__pyx_pw_13blokus_cython_5Board_23is_full(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -22128,14 +22160,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; if (unlikely(__pyx_kwds_len < 0)) return NULL; if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("is_full", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_22is_full(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_5Board_22is_full(((struct __pyx_obj_13blokus_cython_Board *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_22is_full(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_5Board_22is_full(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self) { __Pyx_memviewslice __pyx_v_grid_view = { 0, 0, { 0 }, { 0 }, { 0 } }; int __pyx_v_size; int __pyx_v_x; @@ -22158,7 +22190,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_22is_full(st int __pyx_clineno = 0; __Pyx_RefNannySetupContext("is_full", 0); - /* "blokus_gym/core/blokus_cython.pyx":143 + /* "blokus_cython.pyx":143 * def is_full(self) -> bool: * """Check if the board is completely full.""" * cdef cnp.int8_t[:, :] grid_view = self.grid # <<<<<<<<<<<<<< @@ -22172,7 +22204,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_22is_full(st __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL; - /* "blokus_gym/core/blokus_cython.pyx":144 + /* "blokus_cython.pyx":144 * """Check if the board is completely full.""" * cdef cnp.int8_t[:, :] grid_view = self.grid * cdef int size = self.size # <<<<<<<<<<<<<< @@ -22182,7 +22214,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_22is_full(st __pyx_t_2 = __pyx_v_self->size; __pyx_v_size = __pyx_t_2; - /* "blokus_gym/core/blokus_cython.pyx":147 + /* "blokus_cython.pyx":147 * cdef int x, y * * for y in range(size): # <<<<<<<<<<<<<< @@ -22194,7 +22226,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_22is_full(st for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_y = __pyx_t_4; - /* "blokus_gym/core/blokus_cython.pyx":148 + /* "blokus_cython.pyx":148 * * for y in range(size): * for x in range(size): # <<<<<<<<<<<<<< @@ -22206,7 +22238,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_22is_full(st for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_x = __pyx_t_7; - /* "blokus_gym/core/blokus_cython.pyx":149 + /* "blokus_cython.pyx":149 * for y in range(size): * for x in range(size): * if grid_view[y, x] == 0: # <<<<<<<<<<<<<< @@ -22231,7 +22263,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_22is_full(st __pyx_t_11 = ((*((__pyx_t_5numpy_int8_t *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_grid_view.data + __pyx_t_8 * __pyx_v_grid_view.strides[0]) ) + __pyx_t_9 * __pyx_v_grid_view.strides[1]) ))) == 0); if (__pyx_t_11) { - /* "blokus_gym/core/blokus_cython.pyx":150 + /* "blokus_cython.pyx":150 * for x in range(size): * if grid_view[y, x] == 0: * return False # <<<<<<<<<<<<<< @@ -22243,7 +22275,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_22is_full(st __pyx_r = Py_False; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":149 + /* "blokus_cython.pyx":149 * for y in range(size): * for x in range(size): * if grid_view[y, x] == 0: # <<<<<<<<<<<<<< @@ -22254,7 +22286,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_22is_full(st } } - /* "blokus_gym/core/blokus_cython.pyx":151 + /* "blokus_cython.pyx":151 * if grid_view[y, x] == 0: * return False * return True # <<<<<<<<<<<<<< @@ -22266,7 +22298,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_22is_full(st __pyx_r = Py_True; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":141 + /* "blokus_cython.pyx":141 * return result * * def is_full(self) -> bool: # <<<<<<<<<<<<<< @@ -22277,7 +22309,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_22is_full(st /* function exit code */ __pyx_L1_error:; __PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.is_full", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.is_full", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __PYX_XCLEAR_MEMVIEW(&__pyx_v_grid_view, 1); @@ -22286,7 +22318,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_22is_full(st return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":153 +/* "blokus_cython.pyx":153 * return True * * def coverage(self) -> float: # <<<<<<<<<<<<<< @@ -22295,16 +22327,16 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_22is_full(st */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_25coverage(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_5Board_25coverage(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -PyDoc_STRVAR(__pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_24coverage, "Get the fraction of the board that is occupied."); -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_25coverage = {"coverage", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_25coverage, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_24coverage}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_25coverage(PyObject *__pyx_v_self, +PyDoc_STRVAR(__pyx_doc_13blokus_cython_5Board_24coverage, "Get the fraction of the board that is occupied."); +static PyMethodDef __pyx_mdef_13blokus_cython_5Board_25coverage = {"coverage", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_25coverage, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_5Board_24coverage}; +static PyObject *__pyx_pw_13blokus_cython_5Board_25coverage(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -22330,14 +22362,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; if (unlikely(__pyx_kwds_len < 0)) return NULL; if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("coverage", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_24coverage(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_5Board_24coverage(((struct __pyx_obj_13blokus_cython_Board *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_24coverage(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_5Board_24coverage(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self) { __Pyx_memviewslice __pyx_v_grid_view = { 0, 0, { 0 }, { 0 }, { 0 } }; int __pyx_v_size; int __pyx_v_count; @@ -22362,7 +22394,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_24coverage(s int __pyx_clineno = 0; __Pyx_RefNannySetupContext("coverage", 0); - /* "blokus_gym/core/blokus_cython.pyx":155 + /* "blokus_cython.pyx":155 * def coverage(self) -> float: * """Get the fraction of the board that is occupied.""" * cdef cnp.int8_t[:, :] grid_view = self.grid # <<<<<<<<<<<<<< @@ -22376,7 +22408,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_24coverage(s __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL; - /* "blokus_gym/core/blokus_cython.pyx":156 + /* "blokus_cython.pyx":156 * """Get the fraction of the board that is occupied.""" * cdef cnp.int8_t[:, :] grid_view = self.grid * cdef int size = self.size # <<<<<<<<<<<<<< @@ -22386,7 +22418,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_24coverage(s __pyx_t_2 = __pyx_v_self->size; __pyx_v_size = __pyx_t_2; - /* "blokus_gym/core/blokus_cython.pyx":157 + /* "blokus_cython.pyx":157 * cdef cnp.int8_t[:, :] grid_view = self.grid * cdef int size = self.size * cdef int count = 0 # <<<<<<<<<<<<<< @@ -22395,7 +22427,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_24coverage(s */ __pyx_v_count = 0; - /* "blokus_gym/core/blokus_cython.pyx":160 + /* "blokus_cython.pyx":160 * cdef int x, y * * for y in range(size): # <<<<<<<<<<<<<< @@ -22407,7 +22439,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_24coverage(s for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_y = __pyx_t_4; - /* "blokus_gym/core/blokus_cython.pyx":161 + /* "blokus_cython.pyx":161 * * for y in range(size): * for x in range(size): # <<<<<<<<<<<<<< @@ -22419,7 +22451,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_24coverage(s for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_x = __pyx_t_7; - /* "blokus_gym/core/blokus_cython.pyx":162 + /* "blokus_cython.pyx":162 * for y in range(size): * for x in range(size): * if grid_view[y, x] != 0: # <<<<<<<<<<<<<< @@ -22444,7 +22476,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_24coverage(s __pyx_t_11 = ((*((__pyx_t_5numpy_int8_t *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_grid_view.data + __pyx_t_8 * __pyx_v_grid_view.strides[0]) ) + __pyx_t_9 * __pyx_v_grid_view.strides[1]) ))) != 0); if (__pyx_t_11) { - /* "blokus_gym/core/blokus_cython.pyx":163 + /* "blokus_cython.pyx":163 * for x in range(size): * if grid_view[y, x] != 0: * count += 1 # <<<<<<<<<<<<<< @@ -22453,7 +22485,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_24coverage(s */ __pyx_v_count = (__pyx_v_count + 1); - /* "blokus_gym/core/blokus_cython.pyx":162 + /* "blokus_cython.pyx":162 * for y in range(size): * for x in range(size): * if grid_view[y, x] != 0: # <<<<<<<<<<<<<< @@ -22464,7 +22496,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_24coverage(s } } - /* "blokus_gym/core/blokus_cython.pyx":164 + /* "blokus_cython.pyx":164 * if grid_view[y, x] != 0: * count += 1 * return count / (size * size) # <<<<<<<<<<<<<< @@ -22483,7 +22515,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_24coverage(s __pyx_t_12 = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":153 + /* "blokus_cython.pyx":153 * return True * * def coverage(self) -> float: # <<<<<<<<<<<<<< @@ -22495,7 +22527,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_24coverage(s __pyx_L1_error:; __PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1); __Pyx_XDECREF(__pyx_t_12); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.coverage", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.coverage", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __PYX_XCLEAR_MEMVIEW(&__pyx_v_grid_view, 1); @@ -22504,7 +22536,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_24coverage(s return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":26 +/* "blokus_cython.pyx":26 * """ * * cdef public int size # <<<<<<<<<<<<<< @@ -22513,21 +22545,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_24coverage(s */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_4size_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_4size_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_5Board_4size_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_5Board_4size_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4size___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_5Board_4size___get__(((struct __pyx_obj_13blokus_cython_Board *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4size___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_5Board_4size___get__(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -22545,7 +22577,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4size___get_ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -22554,21 +22586,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4size___get_ } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_5Board_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_5Board_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4size_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_5Board_4size_2__set__(((struct __pyx_obj_13blokus_cython_Board *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4size_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_5Board_4size_2__set__(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; int __pyx_t_1; int __pyx_lineno = 0; @@ -22581,13 +22613,13 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4size_2__set__(str __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":27 +/* "blokus_cython.pyx":27 * * cdef public int size * cdef public cnp.int8_t[:, :] grid # <<<<<<<<<<<<<< @@ -22596,21 +22628,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4size_2__set__(str */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_4grid_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_4grid_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_5Board_4grid_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_5Board_4grid_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4grid___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_5Board_4grid___get__(((struct __pyx_obj_13blokus_cython_Board *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4grid___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_5Board_4grid___get__(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -22629,7 +22661,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4grid___get_ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.grid.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.grid.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -22638,21 +22670,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4grid___get_ } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_4grid_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_4grid_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_5Board_4grid_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_5Board_4grid_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4grid_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_5Board_4grid_2__set__(((struct __pyx_obj_13blokus_cython_Board *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4grid_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_5Board_4grid_2__set__(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_memviewslice __pyx_t_1 = { 0, 0, { 0 }, { 0 }, { 0 } }; int __pyx_lineno = 0; @@ -22669,13 +22701,13 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4grid_2__set__(str goto __pyx_L0; __pyx_L1_error:; __PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.grid.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.grid.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":28 +/* "blokus_cython.pyx":28 * cdef public int size * cdef public cnp.int8_t[:, :] grid * cdef public dict _occupied_cache # <<<<<<<<<<<<<< @@ -22684,21 +22716,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_4grid_2__set__(str */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_15_occupied_cache_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_15_occupied_cache_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_5Board_15_occupied_cache_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_5Board_15_occupied_cache_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_15_occupied_cache___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_5Board_15_occupied_cache___get__(((struct __pyx_obj_13blokus_cython_Board *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_15_occupied_cache___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_5Board_15_occupied_cache___get__(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); @@ -22715,21 +22747,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_15_occupied_ } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_15_occupied_cache_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_15_occupied_cache_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_5Board_15_occupied_cache_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_5Board_15_occupied_cache_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_15_occupied_cache_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_5Board_15_occupied_cache_2__set__(((struct __pyx_obj_13blokus_cython_Board *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_15_occupied_cache_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_5Board_15_occupied_cache_2__set__(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -22751,7 +22783,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_15_occupied_cache_ goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board._occupied_cache.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board._occupied_cache.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); @@ -22759,21 +22791,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_15_occupied_cache_ } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_15_occupied_cache_5__del__(PyObject *__pyx_v_self); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_15_occupied_cache_5__del__(PyObject *__pyx_v_self) { +static int __pyx_pw_13blokus_cython_5Board_15_occupied_cache_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_13blokus_cython_5Board_15_occupied_cache_5__del__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_15_occupied_cache_4__del__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_5Board_15_occupied_cache_4__del__(((struct __pyx_obj_13blokus_cython_Board *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_15_occupied_cache_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self) { +static int __pyx_pf_13blokus_cython_5Board_15_occupied_cache_4__del__(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__", 0); @@ -22796,15 +22828,15 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_15_occupied_cache_ */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_27__reduce_cython__(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_5Board_27__reduce_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_27__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_27__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_27__reduce_cython__(PyObject *__pyx_v_self, +static PyMethodDef __pyx_mdef_13blokus_cython_5Board_27__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_27__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_13blokus_cython_5Board_27__reduce_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -22830,14 +22862,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; if (unlikely(__pyx_kwds_len < 0)) return NULL; if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_26__reduce_cython__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_5Board_26__reduce_cython__(((struct __pyx_obj_13blokus_cython_Board *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_26__reduce_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_5Board_26__reduce_cython__(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self) { PyObject *__pyx_v_state = 0; PyObject *__pyx_v__dict = 0; int __pyx_v_use_setstate; @@ -23059,7 +23091,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_26__reduce_c __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_state); @@ -23077,15 +23109,15 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_26__reduce_c */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_29__setstate_cython__(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_5Board_29__setstate_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_29__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_29__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_29__setstate_cython__(PyObject *__pyx_v_self, +static PyMethodDef __pyx_mdef_13blokus_cython_5Board_29__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_29__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_13blokus_cython_5Board_29__setstate_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -23147,11 +23179,11 @@ PyObject *__pyx_args, PyObject *__pyx_kwds for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_28__setstate_cython__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)__pyx_v_self), __pyx_v___pyx_state); + __pyx_r = __pyx_pf_13blokus_cython_5Board_28__setstate_cython__(((struct __pyx_obj_13blokus_cython_Board *)__pyx_v_self), __pyx_v___pyx_state); /* function exit code */ for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { @@ -23161,7 +23193,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_28__setstate_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v_self, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pf_13blokus_cython_5Board_28__setstate_cython__(struct __pyx_obj_13blokus_cython_Board *__pyx_v_self, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -23183,7 +23215,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_28__setstate PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'"); __PYX_ERR(1, 17, __pyx_L1_error) } - __pyx_t_2 = __pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Board__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17, __pyx_L1_error) + __pyx_t_2 = __pyx_f_13blokus_cython___pyx_unpickle_Board__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -23201,7 +23233,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_28__setstate __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Board.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Board.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -23209,7 +23241,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_28__setstate return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":179 +/* "blokus_cython.pyx":179 * cdef public int y * * def __init__(self, int piece_id, int orientation_id, int x, int y): # <<<<<<<<<<<<<< @@ -23218,8 +23250,8 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Board_28__setstate */ /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static int __pyx_pw_13blokus_cython_4Move_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_13blokus_cython_4Move_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_piece_id; int __pyx_v_orientation_id; int __pyx_v_x; @@ -23295,11 +23327,11 @@ static int __pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_1__init__(PyObject for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Move.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Move.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move___init__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *)__pyx_v_self), __pyx_v_piece_id, __pyx_v_orientation_id, __pyx_v_x, __pyx_v_y); + __pyx_r = __pyx_pf_13blokus_cython_4Move___init__(((struct __pyx_obj_13blokus_cython_Move *)__pyx_v_self), __pyx_v_piece_id, __pyx_v_orientation_id, __pyx_v_x, __pyx_v_y); /* function exit code */ for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { @@ -23309,10 +23341,10 @@ static int __pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_1__init__(PyObject return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move___init__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_self, int __pyx_v_piece_id, int __pyx_v_orientation_id, int __pyx_v_x, int __pyx_v_y) { +static int __pyx_pf_13blokus_cython_4Move___init__(struct __pyx_obj_13blokus_cython_Move *__pyx_v_self, int __pyx_v_piece_id, int __pyx_v_orientation_id, int __pyx_v_x, int __pyx_v_y) { int __pyx_r; - /* "blokus_gym/core/blokus_cython.pyx":180 + /* "blokus_cython.pyx":180 * * def __init__(self, int piece_id, int orientation_id, int x, int y): * self.piece_id = piece_id # <<<<<<<<<<<<<< @@ -23321,7 +23353,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move___init__(struct __p */ __pyx_v_self->piece_id = __pyx_v_piece_id; - /* "blokus_gym/core/blokus_cython.pyx":181 + /* "blokus_cython.pyx":181 * def __init__(self, int piece_id, int orientation_id, int x, int y): * self.piece_id = piece_id * self.orientation_id = orientation_id # <<<<<<<<<<<<<< @@ -23330,7 +23362,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move___init__(struct __p */ __pyx_v_self->orientation_id = __pyx_v_orientation_id; - /* "blokus_gym/core/blokus_cython.pyx":182 + /* "blokus_cython.pyx":182 * self.piece_id = piece_id * self.orientation_id = orientation_id * self.x = x # <<<<<<<<<<<<<< @@ -23339,7 +23371,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move___init__(struct __p */ __pyx_v_self->x = __pyx_v_x; - /* "blokus_gym/core/blokus_cython.pyx":183 + /* "blokus_cython.pyx":183 * self.orientation_id = orientation_id * self.x = x * self.y = y # <<<<<<<<<<<<<< @@ -23348,7 +23380,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move___init__(struct __p */ __pyx_v_self->y = __pyx_v_y; - /* "blokus_gym/core/blokus_cython.pyx":179 + /* "blokus_cython.pyx":179 * cdef public int y * * def __init__(self, int piece_id, int orientation_id, int x, int y): # <<<<<<<<<<<<<< @@ -23361,7 +23393,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move___init__(struct __p return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":185 +/* "blokus_cython.pyx":185 * self.y = y * * def __repr__(self): # <<<<<<<<<<<<<< @@ -23370,21 +23402,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move___init__(struct __p */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_3__repr__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_3__repr__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_4Move_3__repr__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_4Move_3__repr__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_2__repr__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_4Move_2__repr__(((struct __pyx_obj_13blokus_cython_Move *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_2__repr__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_4Move_2__repr__(struct __pyx_obj_13blokus_cython_Move *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -23398,7 +23430,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_2__repr__(str int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__repr__", 0); - /* "blokus_gym/core/blokus_cython.pyx":186 + /* "blokus_cython.pyx":186 * * def __repr__(self): * return f"Move(piece={self.piece_id}, orient={self.orientation_id}, pos=({self.x}, {self.y}))" # <<<<<<<<<<<<<< @@ -23434,7 +23466,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_2__repr__(str __pyx_t_6 = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":185 + /* "blokus_cython.pyx":185 * self.y = y * * def __repr__(self): # <<<<<<<<<<<<<< @@ -23449,7 +23481,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_2__repr__(str __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Move.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Move.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -23457,7 +23489,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_2__repr__(str return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":174 +/* "blokus_cython.pyx":174 * """A move in the game (piece, orientation, position).""" * * cdef public int piece_id # <<<<<<<<<<<<<< @@ -23466,21 +23498,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_2__repr__(str */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_8piece_id_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_8piece_id_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_4Move_8piece_id_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_4Move_8piece_id_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_8piece_id___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_4Move_8piece_id___get__(((struct __pyx_obj_13blokus_cython_Move *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_8piece_id___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_4Move_8piece_id___get__(struct __pyx_obj_13blokus_cython_Move *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -23498,7 +23530,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_8piece_id___g /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Move.piece_id.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Move.piece_id.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -23507,21 +23539,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_8piece_id___g } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_8piece_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_8piece_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_4Move_8piece_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_4Move_8piece_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_8piece_id_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_4Move_8piece_id_2__set__(((struct __pyx_obj_13blokus_cython_Move *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_8piece_id_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_4Move_8piece_id_2__set__(struct __pyx_obj_13blokus_cython_Move *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; int __pyx_t_1; int __pyx_lineno = 0; @@ -23534,13 +23566,13 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_8piece_id_2__set__( __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Move.piece_id.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Move.piece_id.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":175 +/* "blokus_cython.pyx":175 * * cdef public int piece_id * cdef public int orientation_id # <<<<<<<<<<<<<< @@ -23549,21 +23581,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_8piece_id_2__set__( */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_14orientation_id_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_14orientation_id_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_4Move_14orientation_id_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_4Move_14orientation_id_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_14orientation_id___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_4Move_14orientation_id___get__(((struct __pyx_obj_13blokus_cython_Move *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_14orientation_id___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_4Move_14orientation_id___get__(struct __pyx_obj_13blokus_cython_Move *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -23581,7 +23613,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_14orientation /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Move.orientation_id.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Move.orientation_id.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -23590,21 +23622,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_14orientation } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_14orientation_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_14orientation_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_4Move_14orientation_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_4Move_14orientation_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_14orientation_id_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_4Move_14orientation_id_2__set__(((struct __pyx_obj_13blokus_cython_Move *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_14orientation_id_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_4Move_14orientation_id_2__set__(struct __pyx_obj_13blokus_cython_Move *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; int __pyx_t_1; int __pyx_lineno = 0; @@ -23617,13 +23649,13 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_14orientation_id_2_ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Move.orientation_id.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Move.orientation_id.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":176 +/* "blokus_cython.pyx":176 * cdef public int piece_id * cdef public int orientation_id * cdef public int x # <<<<<<<<<<<<<< @@ -23632,21 +23664,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_14orientation_id_2_ */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_1x_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_1x_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_4Move_1x_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_4Move_1x_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_1x___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_4Move_1x___get__(((struct __pyx_obj_13blokus_cython_Move *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_1x___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_4Move_1x___get__(struct __pyx_obj_13blokus_cython_Move *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -23664,7 +23696,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_1x___get__(st /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Move.x.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Move.x.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -23673,21 +23705,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_1x___get__(st } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_1x_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_1x_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_4Move_1x_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_4Move_1x_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_1x_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_4Move_1x_2__set__(((struct __pyx_obj_13blokus_cython_Move *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_1x_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_4Move_1x_2__set__(struct __pyx_obj_13blokus_cython_Move *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; int __pyx_t_1; int __pyx_lineno = 0; @@ -23700,13 +23732,13 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_1x_2__set__(struct __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Move.x.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Move.x.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":177 +/* "blokus_cython.pyx":177 * cdef public int orientation_id * cdef public int x * cdef public int y # <<<<<<<<<<<<<< @@ -23715,21 +23747,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_1x_2__set__(struct */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_1y_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_1y_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_4Move_1y_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_4Move_1y_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_1y___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_4Move_1y___get__(((struct __pyx_obj_13blokus_cython_Move *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_1y___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_4Move_1y___get__(struct __pyx_obj_13blokus_cython_Move *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -23747,7 +23779,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_1y___get__(st /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Move.y.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Move.y.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -23756,21 +23788,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_1y___get__(st } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_1y_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_1y_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_4Move_1y_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_4Move_1y_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_1y_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_4Move_1y_2__set__(((struct __pyx_obj_13blokus_cython_Move *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_1y_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_4Move_1y_2__set__(struct __pyx_obj_13blokus_cython_Move *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; int __pyx_t_1; int __pyx_lineno = 0; @@ -23783,7 +23815,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_1y_2__set__(struct __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Move.y.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Move.y.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; return __pyx_r; @@ -23796,15 +23828,15 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_1y_2__set__(struct */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_5__reduce_cython__(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_4Move_5__reduce_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_4Move_5__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_5__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_5__reduce_cython__(PyObject *__pyx_v_self, +static PyMethodDef __pyx_mdef_13blokus_cython_4Move_5__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_4Move_5__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_13blokus_cython_4Move_5__reduce_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -23830,14 +23862,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; if (unlikely(__pyx_kwds_len < 0)) return NULL; if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_4__reduce_cython__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_4Move_4__reduce_cython__(((struct __pyx_obj_13blokus_cython_Move *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_4__reduce_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_4Move_4__reduce_cython__(struct __pyx_obj_13blokus_cython_Move *__pyx_v_self) { PyObject *__pyx_v_state = 0; PyObject *__pyx_v__dict = 0; int __pyx_v_use_setstate; @@ -24068,7 +24100,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_4__reduce_cyt __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Move.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Move.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_state); @@ -24086,15 +24118,15 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_4__reduce_cyt */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_7__setstate_cython__(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_4Move_7__setstate_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_4Move_7__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_7__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_7__setstate_cython__(PyObject *__pyx_v_self, +static PyMethodDef __pyx_mdef_13blokus_cython_4Move_7__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_4Move_7__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_13blokus_cython_4Move_7__setstate_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -24156,11 +24188,11 @@ PyObject *__pyx_args, PyObject *__pyx_kwds for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Move.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Move.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_6__setstate_cython__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *)__pyx_v_self), __pyx_v___pyx_state); + __pyx_r = __pyx_pf_13blokus_cython_4Move_6__setstate_cython__(((struct __pyx_obj_13blokus_cython_Move *)__pyx_v_self), __pyx_v___pyx_state); /* function exit code */ for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { @@ -24170,7 +24202,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_6__setstate_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_self, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pf_13blokus_cython_4Move_6__setstate_cython__(struct __pyx_obj_13blokus_cython_Move *__pyx_v_self, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -24192,7 +24224,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_6__setstate_c PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'"); __PYX_ERR(1, 17, __pyx_L1_error) } - __pyx_t_2 = __pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Move__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17, __pyx_L1_error) + __pyx_t_2 = __pyx_f_13blokus_cython___pyx_unpickle_Move__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -24210,7 +24242,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_6__setstate_c __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Move.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Move.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -24218,7 +24250,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_6__setstate_c return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":197 +/* "blokus_cython.pyx":197 * cdef public list corners * * def __init__(self, int piece_id, int orientation_id, list squares, list corners): # <<<<<<<<<<<<<< @@ -24227,8 +24259,8 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4Move_6__setstate_c */ /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static int __pyx_pw_13blokus_cython_16PieceOrientation_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_13blokus_cython_16PieceOrientation_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_piece_id; int __pyx_v_orientation_id; PyObject *__pyx_v_squares = 0; @@ -24304,13 +24336,13 @@ static int __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_1__ini for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceOrientation.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceOrientation.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_squares), (&PyList_Type), 1, "squares", 1))) __PYX_ERR(0, 197, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_corners), (&PyList_Type), 1, "corners", 1))) __PYX_ERR(0, 197, __pyx_L1_error) - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation___init__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *)__pyx_v_self), __pyx_v_piece_id, __pyx_v_orientation_id, __pyx_v_squares, __pyx_v_corners); + __pyx_r = __pyx_pf_13blokus_cython_16PieceOrientation___init__(((struct __pyx_obj_13blokus_cython_PieceOrientation *)__pyx_v_self), __pyx_v_piece_id, __pyx_v_orientation_id, __pyx_v_squares, __pyx_v_corners); /* function exit code */ goto __pyx_L0; @@ -24329,12 +24361,12 @@ static int __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_1__ini return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation___init__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_self, int __pyx_v_piece_id, int __pyx_v_orientation_id, PyObject *__pyx_v_squares, PyObject *__pyx_v_corners) { +static int __pyx_pf_13blokus_cython_16PieceOrientation___init__(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_self, int __pyx_v_piece_id, int __pyx_v_orientation_id, PyObject *__pyx_v_squares, PyObject *__pyx_v_corners) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); - /* "blokus_gym/core/blokus_cython.pyx":198 + /* "blokus_cython.pyx":198 * * def __init__(self, int piece_id, int orientation_id, list squares, list corners): * self.piece_id = piece_id # <<<<<<<<<<<<<< @@ -24343,7 +24375,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation___init */ __pyx_v_self->piece_id = __pyx_v_piece_id; - /* "blokus_gym/core/blokus_cython.pyx":199 + /* "blokus_cython.pyx":199 * def __init__(self, int piece_id, int orientation_id, list squares, list corners): * self.piece_id = piece_id * self.orientation_id = orientation_id # <<<<<<<<<<<<<< @@ -24352,7 +24384,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation___init */ __pyx_v_self->orientation_id = __pyx_v_orientation_id; - /* "blokus_gym/core/blokus_cython.pyx":200 + /* "blokus_cython.pyx":200 * self.piece_id = piece_id * self.orientation_id = orientation_id * self.squares = squares # <<<<<<<<<<<<<< @@ -24365,7 +24397,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation___init __Pyx_DECREF(__pyx_v_self->squares); __pyx_v_self->squares = __pyx_v_squares; - /* "blokus_gym/core/blokus_cython.pyx":201 + /* "blokus_cython.pyx":201 * self.orientation_id = orientation_id * self.squares = squares * self.corners = corners # <<<<<<<<<<<<<< @@ -24378,7 +24410,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation___init __Pyx_DECREF(__pyx_v_self->corners); __pyx_v_self->corners = __pyx_v_corners; - /* "blokus_gym/core/blokus_cython.pyx":197 + /* "blokus_cython.pyx":197 * cdef public list corners * * def __init__(self, int piece_id, int orientation_id, list squares, list corners): # <<<<<<<<<<<<<< @@ -24392,7 +24424,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation___init return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":192 +/* "blokus_cython.pyx":192 * """A piece in a specific orientation (before placement on board).""" * * cdef public int piece_id # <<<<<<<<<<<<<< @@ -24401,21 +24433,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation___init */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_8piece_id_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_8piece_id_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_16PieceOrientation_8piece_id_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_16PieceOrientation_8piece_id_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_8piece_id___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_16PieceOrientation_8piece_id___get__(((struct __pyx_obj_13blokus_cython_PieceOrientation *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_8piece_id___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_16PieceOrientation_8piece_id___get__(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -24433,7 +24465,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceOrientation.piece_id.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceOrientation.piece_id.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -24442,21 +24474,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_ } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_8piece_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_8piece_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_16PieceOrientation_8piece_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_16PieceOrientation_8piece_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_8piece_id_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_16PieceOrientation_8piece_id_2__set__(((struct __pyx_obj_13blokus_cython_PieceOrientation *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_8piece_id_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_16PieceOrientation_8piece_id_2__set__(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; int __pyx_t_1; int __pyx_lineno = 0; @@ -24469,13 +24501,13 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_8piece __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceOrientation.piece_id.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceOrientation.piece_id.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":193 +/* "blokus_cython.pyx":193 * * cdef public int piece_id * cdef public int orientation_id # <<<<<<<<<<<<<< @@ -24484,21 +24516,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_8piece */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_14orientation_id_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_14orientation_id_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_16PieceOrientation_14orientation_id_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_16PieceOrientation_14orientation_id_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_14orientation_id___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_16PieceOrientation_14orientation_id___get__(((struct __pyx_obj_13blokus_cython_PieceOrientation *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_14orientation_id___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_16PieceOrientation_14orientation_id___get__(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -24516,7 +24548,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceOrientation.orientation_id.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceOrientation.orientation_id.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -24525,21 +24557,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_ } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_14orientation_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_14orientation_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_16PieceOrientation_14orientation_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_16PieceOrientation_14orientation_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_14orientation_id_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_16PieceOrientation_14orientation_id_2__set__(((struct __pyx_obj_13blokus_cython_PieceOrientation *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_14orientation_id_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_16PieceOrientation_14orientation_id_2__set__(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; int __pyx_t_1; int __pyx_lineno = 0; @@ -24552,13 +24584,13 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_14orie __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceOrientation.orientation_id.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceOrientation.orientation_id.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":194 +/* "blokus_cython.pyx":194 * cdef public int piece_id * cdef public int orientation_id * cdef public list squares # <<<<<<<<<<<<<< @@ -24567,21 +24599,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_14orie */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7squares_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7squares_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_16PieceOrientation_7squares_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_16PieceOrientation_7squares_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7squares___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_16PieceOrientation_7squares___get__(((struct __pyx_obj_13blokus_cython_PieceOrientation *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7squares___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_16PieceOrientation_7squares___get__(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); @@ -24598,21 +24630,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_ } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7squares_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7squares_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_16PieceOrientation_7squares_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_16PieceOrientation_7squares_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7squares_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_16PieceOrientation_7squares_2__set__(((struct __pyx_obj_13blokus_cython_PieceOrientation *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7squares_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_16PieceOrientation_7squares_2__set__(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -24634,7 +24666,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7squar goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceOrientation.squares.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceOrientation.squares.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); @@ -24642,21 +24674,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7squar } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7squares_5__del__(PyObject *__pyx_v_self); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7squares_5__del__(PyObject *__pyx_v_self) { +static int __pyx_pw_13blokus_cython_16PieceOrientation_7squares_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_13blokus_cython_16PieceOrientation_7squares_5__del__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7squares_4__del__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_16PieceOrientation_7squares_4__del__(((struct __pyx_obj_13blokus_cython_PieceOrientation *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7squares_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_self) { +static int __pyx_pf_13blokus_cython_16PieceOrientation_7squares_4__del__(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__", 0); @@ -24672,7 +24704,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7squar return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":195 +/* "blokus_cython.pyx":195 * cdef public int orientation_id * cdef public list squares * cdef public list corners # <<<<<<<<<<<<<< @@ -24681,21 +24713,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7squar */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7corners_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7corners_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_16PieceOrientation_7corners_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_16PieceOrientation_7corners_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7corners___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_16PieceOrientation_7corners___get__(((struct __pyx_obj_13blokus_cython_PieceOrientation *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7corners___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_16PieceOrientation_7corners___get__(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); @@ -24712,21 +24744,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_ } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7corners_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7corners_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_16PieceOrientation_7corners_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_16PieceOrientation_7corners_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7corners_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_16PieceOrientation_7corners_2__set__(((struct __pyx_obj_13blokus_cython_PieceOrientation *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7corners_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_16PieceOrientation_7corners_2__set__(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -24748,7 +24780,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7corne goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceOrientation.corners.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceOrientation.corners.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); @@ -24756,21 +24788,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7corne } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7corners_5__del__(PyObject *__pyx_v_self); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7corners_5__del__(PyObject *__pyx_v_self) { +static int __pyx_pw_13blokus_cython_16PieceOrientation_7corners_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_13blokus_cython_16PieceOrientation_7corners_5__del__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7corners_4__del__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_16PieceOrientation_7corners_4__del__(((struct __pyx_obj_13blokus_cython_PieceOrientation *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7corners_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_self) { +static int __pyx_pf_13blokus_cython_16PieceOrientation_7corners_4__del__(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__", 0); @@ -24793,15 +24825,15 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7corne */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_3__reduce_cython__(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_16PieceOrientation_3__reduce_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_16PieceOrientation_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_3__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_3__reduce_cython__(PyObject *__pyx_v_self, +static PyMethodDef __pyx_mdef_13blokus_cython_16PieceOrientation_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_16PieceOrientation_3__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_13blokus_cython_16PieceOrientation_3__reduce_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -24827,14 +24859,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; if (unlikely(__pyx_kwds_len < 0)) return NULL; if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_2__reduce_cython__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_16PieceOrientation_2__reduce_cython__(((struct __pyx_obj_13blokus_cython_PieceOrientation *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_2__reduce_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_16PieceOrientation_2__reduce_cython__(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_self) { PyObject *__pyx_v_state = 0; PyObject *__pyx_v__dict = 0; int __pyx_v_use_setstate; @@ -25066,7 +25098,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_ __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceOrientation.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceOrientation.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_state); @@ -25084,15 +25116,15 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_ */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_5__setstate_cython__(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_16PieceOrientation_5__setstate_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_16PieceOrientation_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_5__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_5__setstate_cython__(PyObject *__pyx_v_self, +static PyMethodDef __pyx_mdef_13blokus_cython_16PieceOrientation_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_16PieceOrientation_5__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_13blokus_cython_16PieceOrientation_5__setstate_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -25154,11 +25186,11 @@ PyObject *__pyx_args, PyObject *__pyx_kwds for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceOrientation.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceOrientation.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_4__setstate_cython__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *)__pyx_v_self), __pyx_v___pyx_state); + __pyx_r = __pyx_pf_13blokus_cython_16PieceOrientation_4__setstate_cython__(((struct __pyx_obj_13blokus_cython_PieceOrientation *)__pyx_v_self), __pyx_v___pyx_state); /* function exit code */ for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { @@ -25168,7 +25200,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_4__setstate_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_self, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pf_13blokus_cython_16PieceOrientation_4__setstate_cython__(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_self, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -25190,7 +25222,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_ PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'"); __PYX_ERR(1, 17, __pyx_L1_error) } - __pyx_t_2 = __pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_PieceOrientation__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17, __pyx_L1_error) + __pyx_t_2 = __pyx_f_13blokus_cython___pyx_unpickle_PieceOrientation__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -25208,7 +25240,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceOrientation.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceOrientation.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -25216,7 +25248,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_ return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":210 +/* "blokus_cython.pyx":210 * cdef public object squares # Use object to allow frozenset * * def __init__(self, str name, object squares): # <<<<<<<<<<<<<< @@ -25225,8 +25257,8 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_16PieceOrientation_ */ /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static int __pyx_pw_13blokus_cython_5Piece_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_13blokus_cython_5Piece_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_name = 0; PyObject *__pyx_v_squares = 0; CYTHON_UNUSED Py_ssize_t __pyx_nargs; @@ -25286,12 +25318,12 @@ static int __pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_1__init__(PyObject for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Piece.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Piece.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_name), (&PyUnicode_Type), 1, "name", 1))) __PYX_ERR(0, 210, __pyx_L1_error) - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece___init__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_v_self), __pyx_v_name, __pyx_v_squares); + __pyx_r = __pyx_pf_13blokus_cython_5Piece___init__(((struct __pyx_obj_13blokus_cython_Piece *)__pyx_v_self), __pyx_v_name, __pyx_v_squares); /* function exit code */ goto __pyx_L0; @@ -25310,12 +25342,12 @@ static int __pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_1__init__(PyObject return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece___init__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_squares) { +static int __pyx_pf_13blokus_cython_5Piece___init__(struct __pyx_obj_13blokus_cython_Piece *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_squares) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); - /* "blokus_gym/core/blokus_cython.pyx":211 + /* "blokus_cython.pyx":211 * * def __init__(self, str name, object squares): * self.name = name # <<<<<<<<<<<<<< @@ -25328,7 +25360,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece___init__(struct __ __Pyx_DECREF(__pyx_v_self->name); __pyx_v_self->name = __pyx_v_name; - /* "blokus_gym/core/blokus_cython.pyx":212 + /* "blokus_cython.pyx":212 * def __init__(self, str name, object squares): * self.name = name * self.squares = squares # <<<<<<<<<<<<<< @@ -25341,7 +25373,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece___init__(struct __ __Pyx_DECREF(__pyx_v_self->squares); __pyx_v_self->squares = __pyx_v_squares; - /* "blokus_gym/core/blokus_cython.pyx":210 + /* "blokus_cython.pyx":210 * cdef public object squares # Use object to allow frozenset * * def __init__(self, str name, object squares): # <<<<<<<<<<<<<< @@ -25355,7 +25387,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece___init__(struct __ return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":214 +/* "blokus_cython.pyx":214 * self.squares = squares * * @property # <<<<<<<<<<<<<< @@ -25364,21 +25396,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece___init__(struct __ */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_4size_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_4size_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_5Piece_4size_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_5Piece_4size_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4size___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_5Piece_4size___get__(((struct __pyx_obj_13blokus_cython_Piece *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4size___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_5Piece_4size___get__(struct __pyx_obj_13blokus_cython_Piece *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -25388,7 +25420,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4size___get_ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); - /* "blokus_gym/core/blokus_cython.pyx":216 + /* "blokus_cython.pyx":216 * @property * def size(self) -> int: * return len(self.squares) # <<<<<<<<<<<<<< @@ -25406,7 +25438,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4size___get_ __pyx_t_1 = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":214 + /* "blokus_cython.pyx":214 * self.squares = squares * * @property # <<<<<<<<<<<<<< @@ -25417,7 +25449,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4size___get_ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Piece.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Piece.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -25425,7 +25457,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4size___get_ return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":207 +/* "blokus_cython.pyx":207 * """A polyomino piece defined by a set of (x, y) coordinates.""" * * cdef public str name # <<<<<<<<<<<<<< @@ -25434,21 +25466,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4size___get_ */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_4name_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_4name_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_5Piece_4name_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_5Piece_4name_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4name___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_5Piece_4name___get__(((struct __pyx_obj_13blokus_cython_Piece *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4name___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_5Piece_4name___get__(struct __pyx_obj_13blokus_cython_Piece *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); @@ -25465,21 +25497,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4name___get_ } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_5Piece_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_5Piece_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4name_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_5Piece_4name_2__set__(((struct __pyx_obj_13blokus_cython_Piece *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4name_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_5Piece_4name_2__set__(struct __pyx_obj_13blokus_cython_Piece *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -25501,7 +25533,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4name_2__set__(str goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Piece.name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Piece.name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); @@ -25509,21 +25541,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4name_2__set__(str } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_4name_5__del__(PyObject *__pyx_v_self); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_4name_5__del__(PyObject *__pyx_v_self) { +static int __pyx_pw_13blokus_cython_5Piece_4name_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_13blokus_cython_5Piece_4name_5__del__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4name_4__del__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_5Piece_4name_4__del__(((struct __pyx_obj_13blokus_cython_Piece *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4name_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_self) { +static int __pyx_pf_13blokus_cython_5Piece_4name_4__del__(struct __pyx_obj_13blokus_cython_Piece *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__", 0); @@ -25539,7 +25571,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4name_4__del__(str return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":208 +/* "blokus_cython.pyx":208 * * cdef public str name * cdef public object squares # Use object to allow frozenset # <<<<<<<<<<<<<< @@ -25548,21 +25580,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4name_4__del__(str */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_7squares_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_7squares_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_5Piece_7squares_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_5Piece_7squares_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_7squares___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_5Piece_7squares___get__(((struct __pyx_obj_13blokus_cython_Piece *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_7squares___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_5Piece_7squares___get__(struct __pyx_obj_13blokus_cython_Piece *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); @@ -25579,21 +25611,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_7squares___g } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_7squares_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_7squares_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_5Piece_7squares_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_5Piece_7squares_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_7squares_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_5Piece_7squares_2__set__(((struct __pyx_obj_13blokus_cython_Piece *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_7squares_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_5Piece_7squares_2__set__(struct __pyx_obj_13blokus_cython_Piece *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__", 0); @@ -25610,21 +25642,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_7squares_2__set__( } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_7squares_5__del__(PyObject *__pyx_v_self); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_7squares_5__del__(PyObject *__pyx_v_self) { +static int __pyx_pw_13blokus_cython_5Piece_7squares_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_13blokus_cython_5Piece_7squares_5__del__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_7squares_4__del__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_5Piece_7squares_4__del__(((struct __pyx_obj_13blokus_cython_Piece *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_7squares_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_self) { +static int __pyx_pf_13blokus_cython_5Piece_7squares_4__del__(struct __pyx_obj_13blokus_cython_Piece *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__", 0); @@ -25647,15 +25679,15 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_7squares_4__del__( */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_3__reduce_cython__(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_5Piece_3__reduce_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_5Piece_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_3__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_3__reduce_cython__(PyObject *__pyx_v_self, +static PyMethodDef __pyx_mdef_13blokus_cython_5Piece_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Piece_3__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_13blokus_cython_5Piece_3__reduce_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -25681,14 +25713,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; if (unlikely(__pyx_kwds_len < 0)) return NULL; if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_2__reduce_cython__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_5Piece_2__reduce_cython__(((struct __pyx_obj_13blokus_cython_Piece *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_2__reduce_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_5Piece_2__reduce_cython__(struct __pyx_obj_13blokus_cython_Piece *__pyx_v_self) { PyObject *__pyx_v_state = 0; PyObject *__pyx_v__dict = 0; int __pyx_v_use_setstate; @@ -25910,7 +25942,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_2__reduce_cy __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Piece.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Piece.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_state); @@ -25928,15 +25960,15 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_2__reduce_cy */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_5__setstate_cython__(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_5Piece_5__setstate_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_5Piece_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_5__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_5__setstate_cython__(PyObject *__pyx_v_self, +static PyMethodDef __pyx_mdef_13blokus_cython_5Piece_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Piece_5__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_13blokus_cython_5Piece_5__setstate_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -25998,11 +26030,11 @@ PyObject *__pyx_args, PyObject *__pyx_kwds for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Piece.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Piece.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4__setstate_cython__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_v_self), __pyx_v___pyx_state); + __pyx_r = __pyx_pf_13blokus_cython_5Piece_4__setstate_cython__(((struct __pyx_obj_13blokus_cython_Piece *)__pyx_v_self), __pyx_v___pyx_state); /* function exit code */ for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { @@ -26012,7 +26044,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4__setstate_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_self, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pf_13blokus_cython_5Piece_4__setstate_cython__(struct __pyx_obj_13blokus_cython_Piece *__pyx_v_self, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -26034,7 +26066,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4__setstate_ PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'"); __PYX_ERR(1, 17, __pyx_L1_error) } - __pyx_t_2 = __pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Piece__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17, __pyx_L1_error) + __pyx_t_2 = __pyx_f_13blokus_cython___pyx_unpickle_Piece__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -26052,7 +26084,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4__setstate_ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.Piece.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.Piece.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -26060,7 +26092,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4__setstate_ return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":228 +/* "blokus_cython.pyx":228 * cdef public int num_orientations * * def __init__(self, list pieces_list): # <<<<<<<<<<<<<< @@ -26069,8 +26101,8 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_5Piece_4__setstate_ */ /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static int __pyx_pw_13blokus_cython_8PieceSet_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_13blokus_cython_8PieceSet_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_pieces_list = 0; CYTHON_UNUSED Py_ssize_t __pyx_nargs; CYTHON_UNUSED PyObject *const *__pyx_kwvalues; @@ -26122,12 +26154,12 @@ static int __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_1__init__(PyObj for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceSet.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceSet.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pieces_list), (&PyList_Type), 1, "pieces_list", 1))) __PYX_ERR(0, 228, __pyx_L1_error) - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet___init__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)__pyx_v_self), __pyx_v_pieces_list); + __pyx_r = __pyx_pf_13blokus_cython_8PieceSet___init__(((struct __pyx_obj_13blokus_cython_PieceSet *)__pyx_v_self), __pyx_v_pieces_list); /* function exit code */ goto __pyx_L0; @@ -26145,9 +26177,9 @@ static int __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_1__init__(PyObj __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_8PieceSet_8__init___2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ +static PyObject *__pyx_gb_13blokus_cython_8PieceSet_8__init___2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ -/* "blokus_gym/core/blokus_cython.pyx":241 +/* "blokus_cython.pyx":241 * self.orientations.append(orients) * * self.num_orientations = sum(len(o) for o in self.orientations) # <<<<<<<<<<<<<< @@ -26155,17 +26187,17 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_8PieceSet_8__init__ * @property */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_8__init___genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr *__pyx_cur_scope; +static PyObject *__pyx_pf_13blokus_cython_8PieceSet_8__init___genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) { + struct __pyx_obj_13blokus_cython___pyx_scope_struct__genexpr *__pyx_cur_scope; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("genexpr", 0); - __pyx_cur_scope = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr *)__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL); + __pyx_cur_scope = (struct __pyx_obj_13blokus_cython___pyx_scope_struct__genexpr *)__pyx_tp_new_13blokus_cython___pyx_scope_struct__genexpr(__pyx_mstate_global->__pyx_ptype_13blokus_cython___pyx_scope_struct__genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL); if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr *)Py_None); + __pyx_cur_scope = ((struct __pyx_obj_13blokus_cython___pyx_scope_struct__genexpr *)Py_None); __Pyx_INCREF(Py_None); __PYX_ERR(0, 241, __pyx_L1_error) } else { @@ -26175,7 +26207,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_8__init__ __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0); { - __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_10blokus_gym_4core_13blokus_cython_8PieceSet_8__init___2generator, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[0]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_init___locals_genexpr, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython); if (unlikely(!gen)) __PYX_ERR(0, 241, __pyx_L1_error) + __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_13blokus_cython_8PieceSet_8__init___2generator, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[0]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_init___locals_genexpr, __pyx_mstate_global->__pyx_n_u_blokus_cython); if (unlikely(!gen)) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_DECREF(__pyx_cur_scope); __Pyx_RefNannyFinishContext(); return (PyObject *) gen; @@ -26183,7 +26215,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_8__init__ /* function exit code */ __pyx_L1_error:; - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceSet.__init__.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceSet.__init__.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __Pyx_DECREF((PyObject *)__pyx_cur_scope); __Pyx_XGIVEREF(__pyx_r); @@ -26191,9 +26223,9 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_8__init__ return __pyx_r; } -static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_8PieceSet_8__init___2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ +static PyObject *__pyx_gb_13blokus_cython_8PieceSet_8__init___2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr *__pyx_cur_scope = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr *)__pyx_generator->closure); + struct __pyx_obj_13blokus_cython___pyx_scope_struct__genexpr *__pyx_cur_scope = ((struct __pyx_obj_13blokus_cython___pyx_scope_struct__genexpr *)__pyx_generator->closure); PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; Py_ssize_t __pyx_t_2; @@ -26284,7 +26316,7 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_8PieceSet_8__init__ return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":228 +/* "blokus_cython.pyx":228 * cdef public int num_orientations * * def __init__(self, list pieces_list): # <<<<<<<<<<<<<< @@ -26292,7 +26324,7 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_8PieceSet_8__init__ * self.piece_names = [p.name for p in pieces_list] */ -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet___init__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_pieces_list) { +static int __pyx_pf_13blokus_cython_8PieceSet___init__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_pieces_list) { Py_ssize_t __pyx_v_piece_id; PyObject *__pyx_v_piece = NULL; PyObject *__pyx_v_orients = NULL; @@ -26300,7 +26332,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet___init__(struct PyObject *__pyx_7genexpr__pyx_v_p = NULL; PyObject *__pyx_8genexpr1__pyx_v_i = NULL; PyObject *__pyx_8genexpr1__pyx_v_name = NULL; - PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_8PieceSet_8__init___2generator = 0; + PyObject *__pyx_gb_13blokus_cython_8PieceSet_8__init___2generator = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -26318,7 +26350,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet___init__(struct int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__init__", 0); - /* "blokus_gym/core/blokus_cython.pyx":229 + /* "blokus_cython.pyx":229 * * def __init__(self, list pieces_list): * self.pieces = pieces_list # <<<<<<<<<<<<<< @@ -26331,7 +26363,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet___init__(struct __Pyx_DECREF(__pyx_v_self->pieces); __pyx_v_self->pieces = __pyx_v_pieces_list; - /* "blokus_gym/core/blokus_cython.pyx":230 + /* "blokus_cython.pyx":230 * def __init__(self, list pieces_list): * self.pieces = pieces_list * self.piece_names = [p.name for p in pieces_list] # <<<<<<<<<<<<<< @@ -26380,7 +26412,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet___init__(struct __pyx_v_self->piece_names = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":231 + /* "blokus_cython.pyx":231 * self.pieces = pieces_list * self.piece_names = [p.name for p in pieces_list] * self.piece_id_map = {name: i for i, name in enumerate(self.piece_names)} # <<<<<<<<<<<<<< @@ -26434,7 +26466,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet___init__(struct __pyx_v_self->piece_id_map = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":234 + /* "blokus_cython.pyx":234 * * # Pre-compute all orientations for each piece * self.orientations = [] # <<<<<<<<<<<<<< @@ -26449,7 +26481,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet___init__(struct __pyx_v_self->orientations = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":235 + /* "blokus_cython.pyx":235 * # Pre-compute all orientations for each piece * self.orientations = [] * for piece_id, piece in enumerate(pieces_list): # <<<<<<<<<<<<<< @@ -26476,20 +26508,20 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet___init__(struct __pyx_v_piece_id = __pyx_t_3; __pyx_t_3 = (__pyx_t_3 + 1); - /* "blokus_gym/core/blokus_cython.pyx":236 + /* "blokus_cython.pyx":236 * self.orientations = [] * for piece_id, piece in enumerate(pieces_list): * orients = generate_orientations_cython(piece) # <<<<<<<<<<<<<< * for orient in orients: * orient.piece_id = piece_id */ - if (!(likely(((__pyx_v_piece) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_piece, __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece))))) __PYX_ERR(0, 236, __pyx_L1_error) - __pyx_t_2 = __pyx_f_10blokus_gym_4core_13blokus_cython_generate_orientations_cython(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_v_piece)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 236, __pyx_L1_error) + if (!(likely(((__pyx_v_piece) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_piece, __pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece))))) __PYX_ERR(0, 236, __pyx_L1_error) + __pyx_t_2 = __pyx_f_13blokus_cython_generate_orientations_cython(((struct __pyx_obj_13blokus_cython_Piece *)__pyx_v_piece)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_orients, ((PyObject*)__pyx_t_2)); __pyx_t_2 = 0; - /* "blokus_gym/core/blokus_cython.pyx":237 + /* "blokus_cython.pyx":237 * for piece_id, piece in enumerate(pieces_list): * orients = generate_orientations_cython(piece) * for orient in orients: # <<<<<<<<<<<<<< @@ -26517,7 +26549,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet___init__(struct __Pyx_XDECREF_SET(__pyx_v_orient, __pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":238 + /* "blokus_cython.pyx":238 * orients = generate_orientations_cython(piece) * for orient in orients: * orient.piece_id = piece_id # <<<<<<<<<<<<<< @@ -26529,7 +26561,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet___init__(struct if (__Pyx_PyObject_SetAttrStr(__pyx_v_orient, __pyx_mstate_global->__pyx_n_u_piece_id, __pyx_t_4) < (0)) __PYX_ERR(0, 238, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":237 + /* "blokus_cython.pyx":237 * for piece_id, piece in enumerate(pieces_list): * orients = generate_orientations_cython(piece) * for orient in orients: # <<<<<<<<<<<<<< @@ -26539,7 +26571,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet___init__(struct } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "blokus_gym/core/blokus_cython.pyx":239 + /* "blokus_cython.pyx":239 * for orient in orients: * orient.piece_id = piece_id * self.orientations.append(orients) # <<<<<<<<<<<<<< @@ -26552,7 +26584,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet___init__(struct } __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_self->orientations, __pyx_v_orients); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 239, __pyx_L1_error) - /* "blokus_gym/core/blokus_cython.pyx":235 + /* "blokus_cython.pyx":235 * # Pre-compute all orientations for each piece * self.orientations = [] * for piece_id, piece in enumerate(pieces_list): # <<<<<<<<<<<<<< @@ -26562,7 +26594,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet___init__(struct } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":241 + /* "blokus_cython.pyx":241 * self.orientations.append(orients) * * self.num_orientations = sum(len(o) for o in self.orientations) # <<<<<<<<<<<<<< @@ -26570,7 +26602,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet___init__(struct * @property */ __pyx_t_2 = NULL; - __pyx_t_4 = __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_8__init___genexpr(NULL, __pyx_v_self->orientations); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 241, __pyx_L1_error) + __pyx_t_4 = __pyx_pf_13blokus_cython_8PieceSet_8__init___genexpr(NULL, __pyx_v_self->orientations); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = 1; { @@ -26585,7 +26617,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet___init__(struct __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_self->num_orientations = __pyx_t_10; - /* "blokus_gym/core/blokus_cython.pyx":228 + /* "blokus_cython.pyx":228 * cdef public int num_orientations * * def __init__(self, list pieces_list): # <<<<<<<<<<<<<< @@ -26601,7 +26633,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet___init__(struct __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceSet.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceSet.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_piece); @@ -26610,12 +26642,12 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet___init__(struct __Pyx_XDECREF(__pyx_7genexpr__pyx_v_p); __Pyx_XDECREF(__pyx_8genexpr1__pyx_v_i); __Pyx_XDECREF(__pyx_8genexpr1__pyx_v_name); - __Pyx_XDECREF(__pyx_gb_10blokus_gym_4core_13blokus_cython_8PieceSet_8__init___2generator); + __Pyx_XDECREF(__pyx_gb_13blokus_cython_8PieceSet_8__init___2generator); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":243 +/* "blokus_cython.pyx":243 * self.num_orientations = sum(len(o) for o in self.orientations) * * @property # <<<<<<<<<<<<<< @@ -26624,21 +26656,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet___init__(struct */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_10num_pieces_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_10num_pieces_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_8PieceSet_10num_pieces_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_8PieceSet_10num_pieces_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_10num_pieces___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_8PieceSet_10num_pieces___get__(((struct __pyx_obj_13blokus_cython_PieceSet *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_10num_pieces___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_8PieceSet_10num_pieces___get__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -26648,7 +26680,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_10num_pie int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); - /* "blokus_gym/core/blokus_cython.pyx":245 + /* "blokus_cython.pyx":245 * @property * def num_pieces(self) -> int: * return len(self.pieces) # <<<<<<<<<<<<<< @@ -26670,7 +26702,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_10num_pie __pyx_t_1 = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":243 + /* "blokus_cython.pyx":243 * self.num_orientations = sum(len(o) for o in self.orientations) * * @property # <<<<<<<<<<<<<< @@ -26681,7 +26713,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_10num_pie /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceSet.num_pieces.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceSet.num_pieces.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -26689,7 +26721,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_10num_pie return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":247 +/* "blokus_cython.pyx":247 * return len(self.pieces) * * def get_orientations(self, int piece_id) -> list: # <<<<<<<<<<<<<< @@ -26698,15 +26730,15 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_10num_pie */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_3get_orientations(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_8PieceSet_3get_orientations(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_8PieceSet_3get_orientations = {"get_orientations", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_3get_orientations, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_3get_orientations(PyObject *__pyx_v_self, +static PyMethodDef __pyx_mdef_13blokus_cython_8PieceSet_3get_orientations = {"get_orientations", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_8PieceSet_3get_orientations, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_13blokus_cython_8PieceSet_3get_orientations(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -26768,11 +26800,11 @@ PyObject *__pyx_args, PyObject *__pyx_kwds for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceSet.get_orientations", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceSet.get_orientations", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_2get_orientations(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)__pyx_v_self), __pyx_v_piece_id); + __pyx_r = __pyx_pf_13blokus_cython_8PieceSet_2get_orientations(((struct __pyx_obj_13blokus_cython_PieceSet *)__pyx_v_self), __pyx_v_piece_id); /* function exit code */ for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { @@ -26782,7 +26814,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_2get_orientations(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self, int __pyx_v_piece_id) { +static PyObject *__pyx_pf_13blokus_cython_8PieceSet_2get_orientations(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self, int __pyx_v_piece_id) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -26791,7 +26823,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_2get_orie int __pyx_clineno = 0; __Pyx_RefNannySetupContext("get_orientations", 0); - /* "blokus_gym/core/blokus_cython.pyx":248 + /* "blokus_cython.pyx":248 * * def get_orientations(self, int piece_id) -> list: * return self.orientations[piece_id] # <<<<<<<<<<<<<< @@ -26810,7 +26842,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_2get_orie __pyx_t_1 = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":247 + /* "blokus_cython.pyx":247 * return len(self.pieces) * * def get_orientations(self, int piece_id) -> list: # <<<<<<<<<<<<<< @@ -26821,7 +26853,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_2get_orie /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceSet.get_orientations", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceSet.get_orientations", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -26829,7 +26861,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_2get_orie return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":250 +/* "blokus_cython.pyx":250 * return self.orientations[piece_id] * * def get_piece(self, int piece_id) -> Piece: # <<<<<<<<<<<<<< @@ -26838,15 +26870,15 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_2get_orie */ /* Python wrapper */ -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_5get_piece(PyObject *__pyx_v_self, +static struct __pyx_obj_13blokus_cython_Piece *__pyx_pw_13blokus_cython_8PieceSet_5get_piece(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_8PieceSet_5get_piece = {"get_piece", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_5get_piece, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_5get_piece(PyObject *__pyx_v_self, +static PyMethodDef __pyx_mdef_13blokus_cython_8PieceSet_5get_piece = {"get_piece", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_8PieceSet_5get_piece, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static struct __pyx_obj_13blokus_cython_Piece *__pyx_pw_13blokus_cython_8PieceSet_5get_piece(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -26862,7 +26894,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_r = 0; + struct __pyx_obj_13blokus_cython_Piece *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("get_piece (wrapper)", 0); #if !CYTHON_METH_FASTCALL @@ -26908,11 +26940,11 @@ PyObject *__pyx_args, PyObject *__pyx_kwds for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceSet.get_piece", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceSet.get_piece", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_4get_piece(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)__pyx_v_self), __pyx_v_piece_id); + __pyx_r = __pyx_pf_13blokus_cython_8PieceSet_4get_piece(((struct __pyx_obj_13blokus_cython_PieceSet *)__pyx_v_self), __pyx_v_piece_id); /* function exit code */ for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { @@ -26922,8 +26954,8 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_4get_piece(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self, int __pyx_v_piece_id) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_r = NULL; +static struct __pyx_obj_13blokus_cython_Piece *__pyx_pf_13blokus_cython_8PieceSet_4get_piece(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self, int __pyx_v_piece_id) { + struct __pyx_obj_13blokus_cython_Piece *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; @@ -26931,7 +26963,7 @@ static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_pf_10blo int __pyx_clineno = 0; __Pyx_RefNannySetupContext("get_piece", 0); - /* "blokus_gym/core/blokus_cython.pyx":251 + /* "blokus_cython.pyx":251 * * def get_piece(self, int piece_id) -> Piece: * return self.pieces[piece_id] # <<<<<<<<<<<<<< @@ -26945,12 +26977,12 @@ static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_pf_10blo } __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_self->pieces, __pyx_v_piece_id, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 251, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece))))) __PYX_ERR(0, 251, __pyx_L1_error) - __pyx_r = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece))))) __PYX_ERR(0, 251, __pyx_L1_error) + __pyx_r = ((struct __pyx_obj_13blokus_cython_Piece *)__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":250 + /* "blokus_cython.pyx":250 * return self.orientations[piece_id] * * def get_piece(self, int piece_id) -> Piece: # <<<<<<<<<<<<<< @@ -26961,7 +26993,7 @@ static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_pf_10blo /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceSet.get_piece", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceSet.get_piece", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF((PyObject *)__pyx_r); @@ -26969,7 +27001,7 @@ static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_pf_10blo return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":253 +/* "blokus_cython.pyx":253 * return self.pieces[piece_id] * * def get_piece_id(self, str name) -> int: # <<<<<<<<<<<<<< @@ -26978,15 +27010,15 @@ static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_pf_10blo */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_7get_piece_id(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_8PieceSet_7get_piece_id(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_8PieceSet_7get_piece_id = {"get_piece_id", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_7get_piece_id, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_7get_piece_id(PyObject *__pyx_v_self, +static PyMethodDef __pyx_mdef_13blokus_cython_8PieceSet_7get_piece_id = {"get_piece_id", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_8PieceSet_7get_piece_id, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_13blokus_cython_8PieceSet_7get_piece_id(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -27048,12 +27080,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceSet.get_piece_id", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceSet.get_piece_id", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_name), (&PyUnicode_Type), 1, "name", 1))) __PYX_ERR(0, 253, __pyx_L1_error) - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_6get_piece_id(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)__pyx_v_self), __pyx_v_name); + __pyx_r = __pyx_pf_13blokus_cython_8PieceSet_6get_piece_id(((struct __pyx_obj_13blokus_cython_PieceSet *)__pyx_v_self), __pyx_v_name); /* function exit code */ goto __pyx_L0; @@ -27072,7 +27104,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_6get_piece_id(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_name) { +static PyObject *__pyx_pf_13blokus_cython_8PieceSet_6get_piece_id(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_name) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -27081,7 +27113,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_6get_piec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("get_piece_id", 0); - /* "blokus_gym/core/blokus_cython.pyx":254 + /* "blokus_cython.pyx":254 * * def get_piece_id(self, str name) -> int: * return self.piece_id_map[name] # <<<<<<<<<<<<<< @@ -27100,7 +27132,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_6get_piec __pyx_t_1 = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":253 + /* "blokus_cython.pyx":253 * return self.pieces[piece_id] * * def get_piece_id(self, str name) -> int: # <<<<<<<<<<<<<< @@ -27111,7 +27143,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_6get_piec /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceSet.get_piece_id", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceSet.get_piece_id", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -27119,7 +27151,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_6get_piec return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":222 +/* "blokus_cython.pyx":222 * """A collection of pieces with pre-computed orientations.""" * * cdef public list pieces # <<<<<<<<<<<<<< @@ -27128,21 +27160,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_6get_piec */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_6pieces_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_6pieces_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_8PieceSet_6pieces_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_8PieceSet_6pieces_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_6pieces___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_8PieceSet_6pieces___get__(((struct __pyx_obj_13blokus_cython_PieceSet *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_6pieces___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_8PieceSet_6pieces___get__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); @@ -27159,21 +27191,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_6pieces__ } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_6pieces_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_6pieces_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_8PieceSet_6pieces_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_8PieceSet_6pieces_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_6pieces_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_8PieceSet_6pieces_2__set__(((struct __pyx_obj_13blokus_cython_PieceSet *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_6pieces_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_8PieceSet_6pieces_2__set__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -27195,7 +27227,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_6pieces_2__set_ goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceSet.pieces.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceSet.pieces.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); @@ -27203,21 +27235,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_6pieces_2__set_ } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_6pieces_5__del__(PyObject *__pyx_v_self); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_6pieces_5__del__(PyObject *__pyx_v_self) { +static int __pyx_pw_13blokus_cython_8PieceSet_6pieces_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_13blokus_cython_8PieceSet_6pieces_5__del__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_6pieces_4__del__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_8PieceSet_6pieces_4__del__(((struct __pyx_obj_13blokus_cython_PieceSet *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_6pieces_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self) { +static int __pyx_pf_13blokus_cython_8PieceSet_6pieces_4__del__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__", 0); @@ -27233,7 +27265,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_6pieces_4__del_ return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":223 +/* "blokus_cython.pyx":223 * * cdef public list pieces * cdef public list piece_names # <<<<<<<<<<<<<< @@ -27242,21 +27274,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_6pieces_4__del_ */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_11piece_names_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_11piece_names_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_8PieceSet_11piece_names_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_8PieceSet_11piece_names_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_11piece_names___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_8PieceSet_11piece_names___get__(((struct __pyx_obj_13blokus_cython_PieceSet *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_11piece_names___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_8PieceSet_11piece_names___get__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); @@ -27273,21 +27305,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_11piece_n } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_11piece_names_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_11piece_names_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_8PieceSet_11piece_names_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_8PieceSet_11piece_names_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_11piece_names_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_8PieceSet_11piece_names_2__set__(((struct __pyx_obj_13blokus_cython_PieceSet *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_11piece_names_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_8PieceSet_11piece_names_2__set__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -27309,7 +27341,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_11piece_names_2 goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceSet.piece_names.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceSet.piece_names.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); @@ -27317,21 +27349,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_11piece_names_2 } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_11piece_names_5__del__(PyObject *__pyx_v_self); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_11piece_names_5__del__(PyObject *__pyx_v_self) { +static int __pyx_pw_13blokus_cython_8PieceSet_11piece_names_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_13blokus_cython_8PieceSet_11piece_names_5__del__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_11piece_names_4__del__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_8PieceSet_11piece_names_4__del__(((struct __pyx_obj_13blokus_cython_PieceSet *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_11piece_names_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self) { +static int __pyx_pf_13blokus_cython_8PieceSet_11piece_names_4__del__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__", 0); @@ -27347,7 +27379,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_11piece_names_4 return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":224 +/* "blokus_cython.pyx":224 * cdef public list pieces * cdef public list piece_names * cdef public dict piece_id_map # <<<<<<<<<<<<<< @@ -27356,21 +27388,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_11piece_names_4 */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_12piece_id_map_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_12piece_id_map_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_8PieceSet_12piece_id_map_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_8PieceSet_12piece_id_map_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12piece_id_map___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_8PieceSet_12piece_id_map___get__(((struct __pyx_obj_13blokus_cython_PieceSet *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12piece_id_map___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_8PieceSet_12piece_id_map___get__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); @@ -27387,21 +27419,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12piece_i } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_12piece_id_map_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_12piece_id_map_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_8PieceSet_12piece_id_map_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_8PieceSet_12piece_id_map_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12piece_id_map_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_8PieceSet_12piece_id_map_2__set__(((struct __pyx_obj_13blokus_cython_PieceSet *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12piece_id_map_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_8PieceSet_12piece_id_map_2__set__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -27423,7 +27455,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12piece_id_map_ goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceSet.piece_id_map.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceSet.piece_id_map.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); @@ -27431,21 +27463,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12piece_id_map_ } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_12piece_id_map_5__del__(PyObject *__pyx_v_self); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_12piece_id_map_5__del__(PyObject *__pyx_v_self) { +static int __pyx_pw_13blokus_cython_8PieceSet_12piece_id_map_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_13blokus_cython_8PieceSet_12piece_id_map_5__del__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12piece_id_map_4__del__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_8PieceSet_12piece_id_map_4__del__(((struct __pyx_obj_13blokus_cython_PieceSet *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12piece_id_map_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self) { +static int __pyx_pf_13blokus_cython_8PieceSet_12piece_id_map_4__del__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__", 0); @@ -27461,7 +27493,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12piece_id_map_ return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":225 +/* "blokus_cython.pyx":225 * cdef public list piece_names * cdef public dict piece_id_map * cdef public list orientations # <<<<<<<<<<<<<< @@ -27470,21 +27502,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12piece_id_map_ */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_12orientations_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_12orientations_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_8PieceSet_12orientations_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_8PieceSet_12orientations_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12orientations___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_8PieceSet_12orientations___get__(((struct __pyx_obj_13blokus_cython_PieceSet *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12orientations___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_8PieceSet_12orientations___get__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); @@ -27501,21 +27533,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12orienta } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_12orientations_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_12orientations_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_8PieceSet_12orientations_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_8PieceSet_12orientations_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12orientations_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_8PieceSet_12orientations_2__set__(((struct __pyx_obj_13blokus_cython_PieceSet *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12orientations_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_8PieceSet_12orientations_2__set__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -27537,7 +27569,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12orientations_ goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceSet.orientations.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceSet.orientations.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); @@ -27545,21 +27577,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12orientations_ } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_12orientations_5__del__(PyObject *__pyx_v_self); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_12orientations_5__del__(PyObject *__pyx_v_self) { +static int __pyx_pw_13blokus_cython_8PieceSet_12orientations_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_13blokus_cython_8PieceSet_12orientations_5__del__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12orientations_4__del__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_8PieceSet_12orientations_4__del__(((struct __pyx_obj_13blokus_cython_PieceSet *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12orientations_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self) { +static int __pyx_pf_13blokus_cython_8PieceSet_12orientations_4__del__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__", 0); @@ -27575,7 +27607,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12orientations_ return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":226 +/* "blokus_cython.pyx":226 * cdef public dict piece_id_map * cdef public list orientations * cdef public int num_orientations # <<<<<<<<<<<<<< @@ -27584,21 +27616,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_12orientations_ */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_16num_orientations_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_16num_orientations_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_8PieceSet_16num_orientations_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_8PieceSet_16num_orientations_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_16num_orientations___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_8PieceSet_16num_orientations___get__(((struct __pyx_obj_13blokus_cython_PieceSet *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_16num_orientations___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_8PieceSet_16num_orientations___get__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -27616,7 +27648,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_16num_ori /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceSet.num_orientations.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceSet.num_orientations.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -27625,21 +27657,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_16num_ori } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_16num_orientations_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_16num_orientations_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_8PieceSet_16num_orientations_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_8PieceSet_16num_orientations_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_16num_orientations_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_8PieceSet_16num_orientations_2__set__(((struct __pyx_obj_13blokus_cython_PieceSet *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_16num_orientations_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_8PieceSet_16num_orientations_2__set__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; int __pyx_t_1; int __pyx_lineno = 0; @@ -27652,7 +27684,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_16num_orientati __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceSet.num_orientations.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceSet.num_orientations.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; return __pyx_r; @@ -27665,15 +27697,15 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_16num_orientati */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_9__reduce_cython__(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_8PieceSet_9__reduce_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_8PieceSet_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_9__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_9__reduce_cython__(PyObject *__pyx_v_self, +static PyMethodDef __pyx_mdef_13blokus_cython_8PieceSet_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_8PieceSet_9__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_13blokus_cython_8PieceSet_9__reduce_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -27699,14 +27731,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; if (unlikely(__pyx_kwds_len < 0)) return NULL; if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_8__reduce_cython__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_8PieceSet_8__reduce_cython__(((struct __pyx_obj_13blokus_cython_PieceSet *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_8__reduce_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_8PieceSet_8__reduce_cython__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self) { PyObject *__pyx_v_state = 0; PyObject *__pyx_v__dict = 0; int __pyx_v_use_setstate; @@ -27951,7 +27983,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_8__reduce __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceSet.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceSet.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_state); @@ -27969,15 +28001,15 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_8__reduce */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_11__setstate_cython__(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_8PieceSet_11__setstate_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_8PieceSet_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_11__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_11__setstate_cython__(PyObject *__pyx_v_self, +static PyMethodDef __pyx_mdef_13blokus_cython_8PieceSet_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_8PieceSet_11__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_13blokus_cython_8PieceSet_11__setstate_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -28039,11 +28071,11 @@ PyObject *__pyx_args, PyObject *__pyx_kwds for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceSet.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceSet.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_10__setstate_cython__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)__pyx_v_self), __pyx_v___pyx_state); + __pyx_r = __pyx_pf_13blokus_cython_8PieceSet_10__setstate_cython__(((struct __pyx_obj_13blokus_cython_PieceSet *)__pyx_v_self), __pyx_v___pyx_state); /* function exit code */ for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { @@ -28053,7 +28085,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_10__setstate_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pf_13blokus_cython_8PieceSet_10__setstate_cython__(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_self, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -28075,7 +28107,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_10__setst PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'"); __PYX_ERR(1, 17, __pyx_L1_error) } - __pyx_t_2 = __pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_PieceSet__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17, __pyx_L1_error) + __pyx_t_2 = __pyx_f_13blokus_cython___pyx_unpickle_PieceSet__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -28093,7 +28125,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_10__setst __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PieceSet.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PieceSet.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -28101,7 +28133,74 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_10__setst return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":315 +/* "blokus_cython.pyx":311 + * + * + * def get_standard_pieces(): # <<<<<<<<<<<<<< + * """Python-accessible function to get the standard piece set.""" + * return list(STANDARD_PIECES) +*/ + +/* Python wrapper */ +static PyObject *__pyx_pw_13blokus_cython_1get_standard_pieces(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +PyDoc_STRVAR(__pyx_doc_13blokus_cython_get_standard_pieces, "Python-accessible function to get the standard piece set."); +static PyMethodDef __pyx_mdef_13blokus_cython_1get_standard_pieces = {"get_standard_pieces", (PyCFunction)__pyx_pw_13blokus_cython_1get_standard_pieces, METH_NOARGS, __pyx_doc_13blokus_cython_get_standard_pieces}; +static PyObject *__pyx_pw_13blokus_cython_1get_standard_pieces(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + CYTHON_UNUSED PyObject *const *__pyx_kwvalues; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("get_standard_pieces (wrapper)", 0); + __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); + __pyx_r = __pyx_pf_13blokus_cython_get_standard_pieces(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_13blokus_cython_get_standard_pieces(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("get_standard_pieces", 0); + + /* "blokus_cython.pyx":313 + * def get_standard_pieces(): + * """Python-accessible function to get the standard piece set.""" + * return list(STANDARD_PIECES) # <<<<<<<<<<<<<< + * + * +*/ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PySequence_List(__pyx_v_13blokus_cython_STANDARD_PIECES); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 313, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "blokus_cython.pyx":311 + * + * + * def get_standard_pieces(): # <<<<<<<<<<<<<< + * """Python-accessible function to get the standard piece set.""" + * return list(STANDARD_PIECES) +*/ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("blokus_cython.get_standard_pieces", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "blokus_cython.pyx":320 * # ------------------------------------------------------------------- * * cdef list generate_orientations_cython(Piece piece): # <<<<<<<<<<<<<< @@ -28109,7 +28208,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8PieceSet_10__setst * cdef set orientations_set = set() */ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_generate_orientations_cython(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_piece) { +static PyObject *__pyx_f_13blokus_cython_generate_orientations_cython(struct __pyx_obj_13blokus_cython_Piece *__pyx_v_piece) { PyObject *__pyx_v_orientations_set = 0; PyObject *__pyx_v_result = 0; PyObject *__pyx_v_squares = 0; @@ -28132,43 +28231,43 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_generate_orientation int __pyx_clineno = 0; __Pyx_RefNannySetupContext("generate_orientations_cython", 0); - /* "blokus_gym/core/blokus_cython.pyx":317 + /* "blokus_cython.pyx":322 * cdef list generate_orientations_cython(Piece piece): * """Generate all unique orientations of a piece.""" * cdef set orientations_set = set() # <<<<<<<<<<<<<< * cdef list result = [] * cdef list squares = list(piece.squares) */ - __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 317, __pyx_L1_error) + __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 322, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_orientations_set = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":318 + /* "blokus_cython.pyx":323 * """Generate all unique orientations of a piece.""" * cdef set orientations_set = set() * cdef list result = [] # <<<<<<<<<<<<<< * cdef list squares = list(piece.squares) * cdef list transformed */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 318, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 323, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_result = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":319 + /* "blokus_cython.pyx":324 * cdef set orientations_set = set() * cdef list result = [] * cdef list squares = list(piece.squares) # <<<<<<<<<<<<<< * cdef list transformed * cdef int i */ - __pyx_t_1 = PySequence_List(__pyx_v_piece->squares); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 319, __pyx_L1_error) + __pyx_t_1 = PySequence_List(__pyx_v_piece->squares); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 324, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_squares = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":323 + /* "blokus_cython.pyx":328 * cdef int i * * for i in range(4): # 4 rotations (0, 90, 180, 270 degrees) # <<<<<<<<<<<<<< @@ -28178,31 +28277,31 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_generate_orientation for (__pyx_t_2 = 0; __pyx_t_2 < 4; __pyx_t_2+=1) { __pyx_v_i = __pyx_t_2; - /* "blokus_gym/core/blokus_cython.pyx":324 + /* "blokus_cython.pyx":329 * * for i in range(4): # 4 rotations (0, 90, 180, 270 degrees) * transformed = rotate_squares_cython(squares, i) # <<<<<<<<<<<<<< * normalized = normalize_squares_cython(transformed) * key = tuple(normalized) */ - __pyx_t_1 = __pyx_f_10blokus_gym_4core_13blokus_cython_rotate_squares_cython(__pyx_v_squares, __pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 324, __pyx_L1_error) + __pyx_t_1 = __pyx_f_13blokus_cython_rotate_squares_cython(__pyx_v_squares, __pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 329, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_transformed, ((PyObject*)__pyx_t_1)); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":325 + /* "blokus_cython.pyx":330 * for i in range(4): # 4 rotations (0, 90, 180, 270 degrees) * transformed = rotate_squares_cython(squares, i) * normalized = normalize_squares_cython(transformed) # <<<<<<<<<<<<<< * key = tuple(normalized) * */ - __pyx_t_1 = __pyx_f_10blokus_gym_4core_13blokus_cython_normalize_squares_cython(__pyx_v_transformed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 325, __pyx_L1_error) + __pyx_t_1 = __pyx_f_13blokus_cython_normalize_squares_cython(__pyx_v_transformed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 330, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_normalized, ((PyObject*)__pyx_t_1)); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":326 + /* "blokus_cython.pyx":331 * transformed = rotate_squares_cython(squares, i) * normalized = normalize_squares_cython(transformed) * key = tuple(normalized) # <<<<<<<<<<<<<< @@ -28211,45 +28310,45 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_generate_orientation */ if (unlikely(__pyx_v_normalized == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 326, __pyx_L1_error) + __PYX_ERR(0, 331, __pyx_L1_error) } - __pyx_t_1 = PyList_AsTuple(__pyx_v_normalized); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 326, __pyx_L1_error) + __pyx_t_1 = PyList_AsTuple(__pyx_v_normalized); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 331, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_key, ((PyObject*)__pyx_t_1)); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":328 + /* "blokus_cython.pyx":333 * key = tuple(normalized) * * if key not in orientations_set: # <<<<<<<<<<<<<< * orientations_set.add(key) * corners = compute_corners_cython(normalized) */ - __pyx_t_3 = (__Pyx_PySet_ContainsTF(__pyx_v_key, __pyx_v_orientations_set, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 328, __pyx_L1_error) + __pyx_t_3 = (__Pyx_PySet_ContainsTF(__pyx_v_key, __pyx_v_orientations_set, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 333, __pyx_L1_error) if (__pyx_t_3) { - /* "blokus_gym/core/blokus_cython.pyx":329 + /* "blokus_cython.pyx":334 * * if key not in orientations_set: * orientations_set.add(key) # <<<<<<<<<<<<<< * corners = compute_corners_cython(normalized) * result.append(PieceOrientation(0, i, normalized, corners)) */ - __pyx_t_4 = PySet_Add(__pyx_v_orientations_set, __pyx_v_key); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 329, __pyx_L1_error) + __pyx_t_4 = PySet_Add(__pyx_v_orientations_set, __pyx_v_key); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 334, __pyx_L1_error) - /* "blokus_gym/core/blokus_cython.pyx":330 + /* "blokus_cython.pyx":335 * if key not in orientations_set: * orientations_set.add(key) * corners = compute_corners_cython(normalized) # <<<<<<<<<<<<<< * result.append(PieceOrientation(0, i, normalized, corners)) * */ - __pyx_t_1 = __pyx_f_10blokus_gym_4core_13blokus_cython_compute_corners_cython(__pyx_v_normalized); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 330, __pyx_L1_error) + __pyx_t_1 = __pyx_f_13blokus_cython_compute_corners_cython(__pyx_v_normalized); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 335, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_corners, ((PyObject*)__pyx_t_1)); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":331 + /* "blokus_cython.pyx":336 * orientations_set.add(key) * corners = compute_corners_cython(normalized) * result.append(PieceOrientation(0, i, normalized, corners)) # <<<<<<<<<<<<<< @@ -28257,21 +28356,21 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_generate_orientation * return result */ __pyx_t_5 = NULL; - __pyx_t_6 = __Pyx_PyLong_From_int(__pyx_v_i); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 331, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyLong_From_int(__pyx_v_i); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = 1; { PyObject *__pyx_callargs[5] = {__pyx_t_5, __pyx_mstate_global->__pyx_int_0, __pyx_t_6, __pyx_v_normalized, __pyx_v_corners}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceOrientation, __pyx_callargs+__pyx_t_7, (5-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_PieceOrientation, __pyx_callargs+__pyx_t_7, (5-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 331, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 336, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_1); } - __pyx_t_4 = __Pyx_PyList_Append(__pyx_v_result, ((PyObject *)__pyx_t_1)); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 331, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyList_Append(__pyx_v_result, ((PyObject *)__pyx_t_1)); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 336, __pyx_L1_error) __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":328 + /* "blokus_cython.pyx":333 * key = tuple(normalized) * * if key not in orientations_set: # <<<<<<<<<<<<<< @@ -28281,7 +28380,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_generate_orientation } } - /* "blokus_gym/core/blokus_cython.pyx":333 + /* "blokus_cython.pyx":338 * result.append(PieceOrientation(0, i, normalized, corners)) * * return result # <<<<<<<<<<<<<< @@ -28293,7 +28392,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_generate_orientation __pyx_r = __pyx_v_result; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":315 + /* "blokus_cython.pyx":320 * # ------------------------------------------------------------------- * * cdef list generate_orientations_cython(Piece piece): # <<<<<<<<<<<<<< @@ -28306,7 +28405,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_generate_orientation __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.generate_orientations_cython", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.generate_orientations_cython", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_orientations_set); @@ -28321,7 +28420,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_generate_orientation return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":336 +/* "blokus_cython.pyx":341 * * * cdef list rotate_squares_cython(list squares, int rotations): # <<<<<<<<<<<<<< @@ -28329,7 +28428,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_generate_orientation * cdef list result = [] */ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_rotate_squares_cython(PyObject *__pyx_v_squares, int __pyx_v_rotations) { +static PyObject *__pyx_f_13blokus_cython_rotate_squares_cython(PyObject *__pyx_v_squares, int __pyx_v_rotations) { PyObject *__pyx_v_result = 0; int __pyx_v_x; int __pyx_v_y; @@ -28354,19 +28453,19 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_rotate_squares_cytho int __pyx_clineno = 0; __Pyx_RefNannySetupContext("rotate_squares_cython", 0); - /* "blokus_gym/core/blokus_cython.pyx":338 + /* "blokus_cython.pyx":343 * cdef list rotate_squares_cython(list squares, int rotations): * """Rotate squares by 90 * rotations degrees.""" * cdef list result = [] # <<<<<<<<<<<<<< * cdef int x, y, i * */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 338, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 343, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_result = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":341 + /* "blokus_cython.pyx":346 * cdef int x, y, i * * for x, y in squares: # <<<<<<<<<<<<<< @@ -28375,7 +28474,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_rotate_squares_cytho */ if (unlikely(__pyx_v_squares == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 341, __pyx_L1_error) + __PYX_ERR(0, 346, __pyx_L1_error) } __pyx_t_1 = __pyx_v_squares; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; @@ -28383,13 +28482,13 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_rotate_squares_cytho { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 341, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 346, __pyx_L1_error) #endif if (__pyx_t_2 >= __pyx_temp) break; } __pyx_t_3 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference); ++__pyx_t_2; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 341, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { PyObject* sequence = __pyx_t_3; @@ -28397,7 +28496,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_rotate_squares_cytho if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 341, __pyx_L1_error) + __PYX_ERR(0, 346, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { @@ -28407,22 +28506,22 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_rotate_squares_cytho __Pyx_INCREF(__pyx_t_5); } else { __pyx_t_4 = __Pyx_PyList_GET_ITEM_REF(sequence, 0, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 341, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 346, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyList_GET_ITEM_REF(sequence, 1, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 341, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 346, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_5); } #else - __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 341, __pyx_L1_error) + __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 341, __pyx_L1_error) + __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; - __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 341, __pyx_L1_error) + __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); @@ -28430,7 +28529,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_rotate_squares_cytho __Pyx_GOTREF(__pyx_t_4); index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < (0)) __PYX_ERR(0, 341, __pyx_L1_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < (0)) __PYX_ERR(0, 346, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L6_unpacking_done; @@ -28438,17 +28537,17 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_rotate_squares_cytho __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 341, __pyx_L1_error) + __PYX_ERR(0, 346, __pyx_L1_error) __pyx_L6_unpacking_done:; } - __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_t_4); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 341, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_t_4); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 346, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_t_5); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 341, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_t_5); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 346, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_x = __pyx_t_8; __pyx_v_y = __pyx_t_9; - /* "blokus_gym/core/blokus_cython.pyx":342 + /* "blokus_cython.pyx":347 * * for x, y in squares: * for i in range(rotations): # <<<<<<<<<<<<<< @@ -28460,7 +28559,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_rotate_squares_cytho for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_8; __pyx_t_10+=1) { __pyx_v_i = __pyx_t_10; - /* "blokus_gym/core/blokus_cython.pyx":343 + /* "blokus_cython.pyx":348 * for x, y in squares: * for i in range(rotations): * x, y = -y, x # 90 degree rotation # <<<<<<<<<<<<<< @@ -28473,29 +28572,29 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_rotate_squares_cytho __pyx_v_y = __pyx_t_12; } - /* "blokus_gym/core/blokus_cython.pyx":344 + /* "blokus_cython.pyx":349 * for i in range(rotations): * x, y = -y, x # 90 degree rotation * result.append((x, y)) # <<<<<<<<<<<<<< * * return result */ - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 344, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyLong_From_int(__pyx_v_y); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 344, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyLong_From_int(__pyx_v_y); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 344, __pyx_L1_error) + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 344, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 349, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 344, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 349, __pyx_L1_error); __pyx_t_3 = 0; __pyx_t_5 = 0; - __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_result, __pyx_t_4); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 344, __pyx_L1_error) + __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_result, __pyx_t_4); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 349, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":341 + /* "blokus_cython.pyx":346 * cdef int x, y, i * * for x, y in squares: # <<<<<<<<<<<<<< @@ -28505,7 +28604,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_rotate_squares_cytho } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":346 + /* "blokus_cython.pyx":351 * result.append((x, y)) * * return result # <<<<<<<<<<<<<< @@ -28517,7 +28616,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_rotate_squares_cytho __pyx_r = __pyx_v_result; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":336 + /* "blokus_cython.pyx":341 * * * cdef list rotate_squares_cython(list squares, int rotations): # <<<<<<<<<<<<<< @@ -28532,7 +28631,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_rotate_squares_cytho __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.rotate_squares_cython", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.rotate_squares_cython", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_result); @@ -28540,9 +28639,9 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_rotate_squares_cytho __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares_cython_2generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ +static PyObject *__pyx_gb_13blokus_cython_24normalize_squares_cython_2generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ -/* "blokus_gym/core/blokus_cython.pyx":351 +/* "blokus_cython.pyx":356 * cdef list normalize_squares_cython(list squares): * """Normalize squares to start at (0, 0).""" * cdef int min_x = min(x for x, _ in squares) # <<<<<<<<<<<<<< @@ -28550,19 +28649,19 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares * */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_24normalize_squares_cython_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr *__pyx_cur_scope; +static PyObject *__pyx_pf_13blokus_cython_24normalize_squares_cython_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) { + struct __pyx_obj_13blokus_cython___pyx_scope_struct_1_genexpr *__pyx_cur_scope; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("genexpr", 0); - __pyx_cur_scope = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr *)__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL); + __pyx_cur_scope = (struct __pyx_obj_13blokus_cython___pyx_scope_struct_1_genexpr *)__pyx_tp_new_13blokus_cython___pyx_scope_struct_1_genexpr(__pyx_mstate_global->__pyx_ptype_13blokus_cython___pyx_scope_struct_1_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL); if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr *)Py_None); + __pyx_cur_scope = ((struct __pyx_obj_13blokus_cython___pyx_scope_struct_1_genexpr *)Py_None); __Pyx_INCREF(Py_None); - __PYX_ERR(0, 351, __pyx_L1_error) + __PYX_ERR(0, 356, __pyx_L1_error) } else { __Pyx_GOTREF((PyObject *)__pyx_cur_scope); } @@ -28570,7 +28669,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_24normalize_squares __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0); { - __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares_cython_2generator1, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_normalize_squares_cython_locals, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython); if (unlikely(!gen)) __PYX_ERR(0, 351, __pyx_L1_error) + __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_13blokus_cython_24normalize_squares_cython_2generator1, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_normalize_squares_cython_locals, __pyx_mstate_global->__pyx_n_u_blokus_cython); if (unlikely(!gen)) __PYX_ERR(0, 356, __pyx_L1_error) __Pyx_DECREF(__pyx_cur_scope); __Pyx_RefNannyFinishContext(); return (PyObject *) gen; @@ -28578,7 +28677,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_24normalize_squares /* function exit code */ __pyx_L1_error:; - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.normalize_squares_cython.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.normalize_squares_cython.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __Pyx_DECREF((PyObject *)__pyx_cur_scope); __Pyx_XGIVEREF(__pyx_r); @@ -28586,9 +28685,9 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_24normalize_squares return __pyx_r; } -static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares_cython_2generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ +static PyObject *__pyx_gb_13blokus_cython_24normalize_squares_cython_2generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr *__pyx_cur_scope = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr *)__pyx_generator->closure); + struct __pyx_obj_13blokus_cython___pyx_scope_struct_1_genexpr *__pyx_cur_scope = ((struct __pyx_obj_13blokus_cython___pyx_scope_struct_1_genexpr *)__pyx_generator->closure); PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; Py_ssize_t __pyx_t_2; @@ -28612,12 +28711,12 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares __pyx_L3_first_run:; if (unlikely(__pyx_sent_value != Py_None)) { if (unlikely(__pyx_sent_value)) PyErr_SetString(PyExc_TypeError, "can't send non-None value to a just-started generator"); - __PYX_ERR(0, 351, __pyx_L1_error) + __PYX_ERR(0, 356, __pyx_L1_error) } - if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 351, __pyx_L1_error) } + if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 356, __pyx_L1_error) } if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 351, __pyx_L1_error) + __PYX_ERR(0, 356, __pyx_L1_error) } __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; @@ -28625,13 +28724,13 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 351, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 356, __pyx_L1_error) #endif if (__pyx_t_2 >= __pyx_temp) break; } __pyx_t_3 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference); ++__pyx_t_2; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 351, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 356, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { PyObject* sequence = __pyx_t_3; @@ -28639,7 +28738,7 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 351, __pyx_L1_error) + __PYX_ERR(0, 356, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { @@ -28649,22 +28748,22 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares __Pyx_INCREF(__pyx_t_5); } else { __pyx_t_4 = __Pyx_PyList_GET_ITEM_REF(sequence, 0, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 351, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 356, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyList_GET_ITEM_REF(sequence, 1, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 351, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 356, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_5); } #else - __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 351, __pyx_L1_error) + __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 356, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 351, __pyx_L1_error) + __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 356, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; - __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 351, __pyx_L1_error) + __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 356, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); @@ -28672,7 +28771,7 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares __Pyx_GOTREF(__pyx_t_4); index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L6_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < (0)) __PYX_ERR(0, 351, __pyx_L1_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < (0)) __PYX_ERR(0, 356, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L7_unpacking_done; @@ -28680,7 +28779,7 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 351, __pyx_L1_error) + __PYX_ERR(0, 356, __pyx_L1_error) __pyx_L7_unpacking_done:; } __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_x); @@ -28707,7 +28806,7 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares __pyx_cur_scope->__pyx_t_0 = 0; __Pyx_XGOTREF(__pyx_t_1); __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 351, __pyx_L1_error) + if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 356, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); @@ -28735,9 +28834,9 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares_cython_5generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ +static PyObject *__pyx_gb_13blokus_cython_24normalize_squares_cython_5generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ -/* "blokus_gym/core/blokus_cython.pyx":352 +/* "blokus_cython.pyx":357 * """Normalize squares to start at (0, 0).""" * cdef int min_x = min(x for x, _ in squares) * cdef int min_y = min(y for _, y in squares) # <<<<<<<<<<<<<< @@ -28745,19 +28844,19 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares * return [(x - min_x, y - min_y) for x, y in squares] */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_24normalize_squares_cython_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr *__pyx_cur_scope; +static PyObject *__pyx_pf_13blokus_cython_24normalize_squares_cython_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) { + struct __pyx_obj_13blokus_cython___pyx_scope_struct_2_genexpr *__pyx_cur_scope; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("genexpr", 0); - __pyx_cur_scope = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr *)__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL); + __pyx_cur_scope = (struct __pyx_obj_13blokus_cython___pyx_scope_struct_2_genexpr *)__pyx_tp_new_13blokus_cython___pyx_scope_struct_2_genexpr(__pyx_mstate_global->__pyx_ptype_13blokus_cython___pyx_scope_struct_2_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL); if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr *)Py_None); + __pyx_cur_scope = ((struct __pyx_obj_13blokus_cython___pyx_scope_struct_2_genexpr *)Py_None); __Pyx_INCREF(Py_None); - __PYX_ERR(0, 352, __pyx_L1_error) + __PYX_ERR(0, 357, __pyx_L1_error) } else { __Pyx_GOTREF((PyObject *)__pyx_cur_scope); } @@ -28765,7 +28864,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_24normalize_squares __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0); { - __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares_cython_5generator2, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[2]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_normalize_squares_cython_locals, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython); if (unlikely(!gen)) __PYX_ERR(0, 352, __pyx_L1_error) + __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_13blokus_cython_24normalize_squares_cython_5generator2, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[2]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_normalize_squares_cython_locals, __pyx_mstate_global->__pyx_n_u_blokus_cython); if (unlikely(!gen)) __PYX_ERR(0, 357, __pyx_L1_error) __Pyx_DECREF(__pyx_cur_scope); __Pyx_RefNannyFinishContext(); return (PyObject *) gen; @@ -28773,7 +28872,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_24normalize_squares /* function exit code */ __pyx_L1_error:; - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.normalize_squares_cython.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.normalize_squares_cython.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __Pyx_DECREF((PyObject *)__pyx_cur_scope); __Pyx_XGIVEREF(__pyx_r); @@ -28781,9 +28880,9 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_24normalize_squares return __pyx_r; } -static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares_cython_5generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ +static PyObject *__pyx_gb_13blokus_cython_24normalize_squares_cython_5generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr *__pyx_cur_scope = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr *)__pyx_generator->closure); + struct __pyx_obj_13blokus_cython___pyx_scope_struct_2_genexpr *__pyx_cur_scope = ((struct __pyx_obj_13blokus_cython___pyx_scope_struct_2_genexpr *)__pyx_generator->closure); PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; Py_ssize_t __pyx_t_2; @@ -28807,12 +28906,12 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares __pyx_L3_first_run:; if (unlikely(__pyx_sent_value != Py_None)) { if (unlikely(__pyx_sent_value)) PyErr_SetString(PyExc_TypeError, "can't send non-None value to a just-started generator"); - __PYX_ERR(0, 352, __pyx_L1_error) + __PYX_ERR(0, 357, __pyx_L1_error) } - if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 352, __pyx_L1_error) } + if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 357, __pyx_L1_error) } if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 352, __pyx_L1_error) + __PYX_ERR(0, 357, __pyx_L1_error) } __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; @@ -28820,13 +28919,13 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 352, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 357, __pyx_L1_error) #endif if (__pyx_t_2 >= __pyx_temp) break; } __pyx_t_3 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference); ++__pyx_t_2; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 352, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 357, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { PyObject* sequence = __pyx_t_3; @@ -28834,7 +28933,7 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 352, __pyx_L1_error) + __PYX_ERR(0, 357, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { @@ -28844,22 +28943,22 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares __Pyx_INCREF(__pyx_t_5); } else { __pyx_t_4 = __Pyx_PyList_GET_ITEM_REF(sequence, 0, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 352, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 357, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyList_GET_ITEM_REF(sequence, 1, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 352, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 357, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_5); } #else - __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 352, __pyx_L1_error) + __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 357, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 352, __pyx_L1_error) + __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 357, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; - __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 352, __pyx_L1_error) + __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 357, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); @@ -28867,7 +28966,7 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares __Pyx_GOTREF(__pyx_t_4); index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L6_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < (0)) __PYX_ERR(0, 352, __pyx_L1_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < (0)) __PYX_ERR(0, 357, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L7_unpacking_done; @@ -28875,7 +28974,7 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 352, __pyx_L1_error) + __PYX_ERR(0, 357, __pyx_L1_error) __pyx_L7_unpacking_done:; } __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__); @@ -28902,7 +29001,7 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares __pyx_cur_scope->__pyx_t_0 = 0; __Pyx_XGOTREF(__pyx_t_1); __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 352, __pyx_L1_error) + if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 357, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); @@ -28931,7 +29030,7 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":349 +/* "blokus_cython.pyx":354 * * * cdef list normalize_squares_cython(list squares): # <<<<<<<<<<<<<< @@ -28939,11 +29038,11 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares * cdef int min_x = min(x for x, _ in squares) */ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_normalize_squares_cython(PyObject *__pyx_v_squares) { +static PyObject *__pyx_f_13blokus_cython_normalize_squares_cython(PyObject *__pyx_v_squares) { int __pyx_v_min_x; int __pyx_v_min_y; - PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares_cython_2generator1 = 0; - PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares_cython_5generator2 = 0; + PyObject *__pyx_gb_13blokus_cython_24normalize_squares_cython_2generator1 = 0; + PyObject *__pyx_gb_13blokus_cython_24normalize_squares_cython_5generator2 = 0; PyObject *__pyx_8genexpr5__pyx_v_x = NULL; PyObject *__pyx_8genexpr5__pyx_v_y = NULL; PyObject *__pyx_r = NULL; @@ -28963,7 +29062,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_normalize_squares_cy int __pyx_clineno = 0; __Pyx_RefNannySetupContext("normalize_squares_cython", 0); - /* "blokus_gym/core/blokus_cython.pyx":351 + /* "blokus_cython.pyx":356 * cdef list normalize_squares_cython(list squares): * """Normalize squares to start at (0, 0).""" * cdef int min_x = min(x for x, _ in squares) # <<<<<<<<<<<<<< @@ -28971,7 +29070,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_normalize_squares_cy * */ __pyx_t_2 = NULL; - __pyx_t_3 = __pyx_pf_10blokus_gym_4core_13blokus_cython_24normalize_squares_cython_genexpr(NULL, __pyx_v_squares); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 351, __pyx_L1_error) + __pyx_t_3 = __pyx_pf_13blokus_cython_24normalize_squares_cython_genexpr(NULL, __pyx_v_squares); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 356, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = 1; { @@ -28979,14 +29078,14 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_normalize_squares_cy __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_min, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 351, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 356, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } - __pyx_t_5 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 351, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 356, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_min_x = __pyx_t_5; - /* "blokus_gym/core/blokus_cython.pyx":352 + /* "blokus_cython.pyx":357 * """Normalize squares to start at (0, 0).""" * cdef int min_x = min(x for x, _ in squares) * cdef int min_y = min(y for _, y in squares) # <<<<<<<<<<<<<< @@ -28994,7 +29093,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_normalize_squares_cy * return [(x - min_x, y - min_y) for x, y in squares] */ __pyx_t_3 = NULL; - __pyx_t_2 = __pyx_pf_10blokus_gym_4core_13blokus_cython_24normalize_squares_cython_3genexpr(NULL, __pyx_v_squares); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 352, __pyx_L1_error) + __pyx_t_2 = __pyx_pf_13blokus_cython_24normalize_squares_cython_3genexpr(NULL, __pyx_v_squares); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 357, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = 1; { @@ -29002,14 +29101,14 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_normalize_squares_cy __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_min, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 352, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 357, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } - __pyx_t_5 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 352, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 357, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_min_y = __pyx_t_5; - /* "blokus_gym/core/blokus_cython.pyx":354 + /* "blokus_cython.pyx":359 * cdef int min_y = min(y for _, y in squares) * * return [(x - min_x, y - min_y) for x, y in squares] # <<<<<<<<<<<<<< @@ -29018,11 +29117,11 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_normalize_squares_cy */ __Pyx_XDECREF(__pyx_r); { /* enter inner scope */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 354, __pyx_L5_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 359, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(__pyx_v_squares == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 354, __pyx_L5_error) + __PYX_ERR(0, 359, __pyx_L5_error) } __pyx_t_2 = __pyx_v_squares; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0; @@ -29030,13 +29129,13 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_normalize_squares_cy { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 354, __pyx_L5_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 359, __pyx_L5_error) #endif if (__pyx_t_6 >= __pyx_temp) break; } __pyx_t_3 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_2, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference); ++__pyx_t_6; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 354, __pyx_L5_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 359, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_3); if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { PyObject* sequence = __pyx_t_3; @@ -29044,7 +29143,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_normalize_squares_cy if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 354, __pyx_L5_error) + __PYX_ERR(0, 359, __pyx_L5_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { @@ -29054,22 +29153,22 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_normalize_squares_cy __Pyx_INCREF(__pyx_t_8); } else { __pyx_t_7 = __Pyx_PyList_GET_ITEM_REF(sequence, 0, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 354, __pyx_L5_error) + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 359, __pyx_L5_error) __Pyx_XGOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyList_GET_ITEM_REF(sequence, 1, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 354, __pyx_L5_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 359, __pyx_L5_error) __Pyx_XGOTREF(__pyx_t_8); } #else - __pyx_t_7 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 354, __pyx_L5_error) + __pyx_t_7 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 359, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 354, __pyx_L5_error) + __pyx_t_8 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 359, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_8); #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; - __pyx_t_9 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 354, __pyx_L5_error) + __pyx_t_9 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 359, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_10 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_9); @@ -29077,7 +29176,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_normalize_squares_cy __Pyx_GOTREF(__pyx_t_7); index = 1; __pyx_t_8 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_8)) goto __pyx_L8_unpacking_failed; __Pyx_GOTREF(__pyx_t_8); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 2) < (0)) __PYX_ERR(0, 354, __pyx_L5_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 2) < (0)) __PYX_ERR(0, 359, __pyx_L5_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; goto __pyx_L9_unpacking_done; @@ -29085,32 +29184,32 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_normalize_squares_cy __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 354, __pyx_L5_error) + __PYX_ERR(0, 359, __pyx_L5_error) __pyx_L9_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_8genexpr5__pyx_v_x, __pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_8genexpr5__pyx_v_y, __pyx_t_8); __pyx_t_8 = 0; - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_min_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 354, __pyx_L5_error) + __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_min_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 359, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_8 = PyNumber_Subtract(__pyx_8genexpr5__pyx_v_x, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 354, __pyx_L5_error) + __pyx_t_8 = PyNumber_Subtract(__pyx_8genexpr5__pyx_v_x, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 359, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_min_y); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 354, __pyx_L5_error) + __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_min_y); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 359, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_7 = PyNumber_Subtract(__pyx_8genexpr5__pyx_v_y, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 354, __pyx_L5_error) + __pyx_t_7 = PyNumber_Subtract(__pyx_8genexpr5__pyx_v_y, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 359, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 354, __pyx_L5_error) + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 359, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_8); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 354, __pyx_L5_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 359, __pyx_L5_error); __Pyx_GIVEREF(__pyx_t_7); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 354, __pyx_L5_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 359, __pyx_L5_error); __pyx_t_8 = 0; __pyx_t_7 = 0; - if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 354, __pyx_L5_error) + if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 359, __pyx_L5_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -29127,7 +29226,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_normalize_squares_cy __pyx_t_1 = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":349 + /* "blokus_cython.pyx":354 * * * cdef list normalize_squares_cython(list squares): # <<<<<<<<<<<<<< @@ -29143,11 +29242,11 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_normalize_squares_cy __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.normalize_squares_cython", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.normalize_squares_cython", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; - __Pyx_XDECREF(__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares_cython_2generator1); - __Pyx_XDECREF(__pyx_gb_10blokus_gym_4core_13blokus_cython_24normalize_squares_cython_5generator2); + __Pyx_XDECREF(__pyx_gb_13blokus_cython_24normalize_squares_cython_2generator1); + __Pyx_XDECREF(__pyx_gb_13blokus_cython_24normalize_squares_cython_5generator2); __Pyx_XDECREF(__pyx_8genexpr5__pyx_v_x); __Pyx_XDECREF(__pyx_8genexpr5__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); @@ -29155,7 +29254,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_normalize_squares_cy return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":357 +/* "blokus_cython.pyx":362 * * * cdef list compute_corners_cython(list squares): # <<<<<<<<<<<<<< @@ -29163,7 +29262,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_normalize_squares_cy * cdef set corners = set() */ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_compute_corners_cython(PyObject *__pyx_v_squares) { +static PyObject *__pyx_f_13blokus_cython_compute_corners_cython(PyObject *__pyx_v_squares) { PyObject *__pyx_v_corners = 0; int __pyx_v_x; int __pyx_v_y; @@ -29187,19 +29286,19 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_compute_corners_cyth int __pyx_clineno = 0; __Pyx_RefNannySetupContext("compute_corners_cython", 0); - /* "blokus_gym/core/blokus_cython.pyx":359 + /* "blokus_cython.pyx":364 * cdef list compute_corners_cython(list squares): * """Compute corner squares (diagonal neighbors).""" * cdef set corners = set() # <<<<<<<<<<<<<< * cdef int x, y, dx, dy * */ - __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 359, __pyx_L1_error) + __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 364, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_corners = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":362 + /* "blokus_cython.pyx":367 * cdef int x, y, dx, dy * * for x, y in squares: # <<<<<<<<<<<<<< @@ -29208,7 +29307,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_compute_corners_cyth */ if (unlikely(__pyx_v_squares == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 362, __pyx_L1_error) + __PYX_ERR(0, 367, __pyx_L1_error) } __pyx_t_1 = __pyx_v_squares; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; @@ -29216,13 +29315,13 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_compute_corners_cyth { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 362, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 367, __pyx_L1_error) #endif if (__pyx_t_2 >= __pyx_temp) break; } __pyx_t_3 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference); ++__pyx_t_2; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 362, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { PyObject* sequence = __pyx_t_3; @@ -29230,7 +29329,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_compute_corners_cyth if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 362, __pyx_L1_error) + __PYX_ERR(0, 367, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { @@ -29240,22 +29339,22 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_compute_corners_cyth __Pyx_INCREF(__pyx_t_5); } else { __pyx_t_4 = __Pyx_PyList_GET_ITEM_REF(sequence, 0, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 362, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 367, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyList_GET_ITEM_REF(sequence, 1, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 362, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 367, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_5); } #else - __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 362, __pyx_L1_error) + __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 362, __pyx_L1_error) + __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; - __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 362, __pyx_L1_error) + __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); @@ -29263,7 +29362,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_compute_corners_cyth __Pyx_GOTREF(__pyx_t_4); index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < (0)) __PYX_ERR(0, 362, __pyx_L1_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < (0)) __PYX_ERR(0, 367, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L6_unpacking_done; @@ -29271,17 +29370,17 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_compute_corners_cyth __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 362, __pyx_L1_error) + __PYX_ERR(0, 367, __pyx_L1_error) __pyx_L6_unpacking_done:; } - __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_t_4); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 362, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_t_4); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 367, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_t_5); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 362, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_t_5); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 367, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_x = __pyx_t_8; __pyx_v_y = __pyx_t_9; - /* "blokus_gym/core/blokus_cython.pyx":363 + /* "blokus_cython.pyx":368 * * for x, y in squares: * for dx, dy in [(-1, -1), (1, -1), (-1, 1), (1, 1)]: # <<<<<<<<<<<<<< @@ -29298,7 +29397,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_compute_corners_cyth __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_10); #endif ++__pyx_t_10; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 363, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 368, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(__pyx_t_5 != Py_None)) { PyObject* sequence = __pyx_t_5; @@ -29306,7 +29405,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_compute_corners_cyth if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 363, __pyx_L1_error) + __PYX_ERR(0, 368, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); @@ -29314,45 +29413,45 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_compute_corners_cyth __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1); __Pyx_INCREF(__pyx_t_6); #else - __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 363, __pyx_L1_error) + __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 368, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 363, __pyx_L1_error) + __pyx_t_6 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 368, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { - __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 363, __pyx_L1_error) + __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 368, __pyx_L1_error) } - __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_t_4); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 363, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_t_4); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 368, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_t_6); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 363, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_t_6); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 368, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_dx = __pyx_t_9; __pyx_v_dy = __pyx_t_8; - /* "blokus_gym/core/blokus_cython.pyx":364 + /* "blokus_cython.pyx":369 * for x, y in squares: * for dx, dy in [(-1, -1), (1, -1), (-1, 1), (1, 1)]: * corners.add((x + dx, y + dy)) # <<<<<<<<<<<<<< * * return list(corners) */ - __pyx_t_5 = __Pyx_PyLong_From_int((__pyx_v_x + __pyx_v_dx)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 364, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyLong_From_int((__pyx_v_x + __pyx_v_dx)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyLong_From_int((__pyx_v_y + __pyx_v_dy)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 364, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyLong_From_int((__pyx_v_y + __pyx_v_dy)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 364, __pyx_L1_error) + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 364, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 369, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_6); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_6) != (0)) __PYX_ERR(0, 364, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_6) != (0)) __PYX_ERR(0, 369, __pyx_L1_error); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_11 = PySet_Add(__pyx_v_corners, __pyx_t_4); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 364, __pyx_L1_error) + __pyx_t_11 = PySet_Add(__pyx_v_corners, __pyx_t_4); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 369, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":363 + /* "blokus_cython.pyx":368 * * for x, y in squares: * for dx, dy in [(-1, -1), (1, -1), (-1, 1), (1, 1)]: # <<<<<<<<<<<<<< @@ -29362,7 +29461,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_compute_corners_cyth } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":362 + /* "blokus_cython.pyx":367 * cdef int x, y, dx, dy * * for x, y in squares: # <<<<<<<<<<<<<< @@ -29372,7 +29471,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_compute_corners_cyth } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":366 + /* "blokus_cython.pyx":371 * corners.add((x + dx, y + dy)) * * return list(corners) # <<<<<<<<<<<<<< @@ -29380,13 +29479,13 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_compute_corners_cyth * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PySequence_List(__pyx_v_corners); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 366, __pyx_L1_error) + __pyx_t_1 = PySequence_List(__pyx_v_corners); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":357 + /* "blokus_cython.pyx":362 * * * cdef list compute_corners_cython(list squares): # <<<<<<<<<<<<<< @@ -29401,7 +29500,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_compute_corners_cyth __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.compute_corners_cython", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.compute_corners_cython", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_corners); @@ -29410,7 +29509,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_compute_corners_cyth return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":383 +/* "blokus_cython.pyx":388 * cdef public bint can_move * * def __init__(self): # <<<<<<<<<<<<<< @@ -29419,8 +29518,8 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_compute_corners_cyth */ /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static int __pyx_pw_13blokus_cython_11PlayerState_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_13blokus_cython_11PlayerState_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { CYTHON_UNUSED Py_ssize_t __pyx_nargs; CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; @@ -29436,14 +29535,14 @@ static int __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_1__init__(P const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0; if (unlikely(__pyx_kwds_len < 0)) return -1; if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__init__", __pyx_kwds); return -1;} - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState___init__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_11PlayerState___init__(((struct __pyx_obj_13blokus_cython_PlayerState *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState___init__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self) { +static int __pyx_pf_13blokus_cython_11PlayerState___init__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -29452,7 +29551,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState___init__(st int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__init__", 0); - /* "blokus_gym/core/blokus_cython.pyx":384 + /* "blokus_cython.pyx":389 * * def __init__(self): * self.idx = -1 # <<<<<<<<<<<<<< @@ -29461,14 +29560,14 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState___init__(st */ __pyx_v_self->idx = -1; - /* "blokus_gym/core/blokus_cython.pyx":385 + /* "blokus_cython.pyx":390 * def __init__(self): * self.idx = -1 * self.available_pieces = set() # <<<<<<<<<<<<<< * self.corners = set() * self.score = 0 */ - __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 385, __pyx_L1_error) + __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 390, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->available_pieces); @@ -29476,14 +29575,14 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState___init__(st __pyx_v_self->available_pieces = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":386 + /* "blokus_cython.pyx":391 * self.idx = -1 * self.available_pieces = set() * self.corners = set() # <<<<<<<<<<<<<< * self.score = 0 * self.has_started = False */ - __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 386, __pyx_L1_error) + __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 391, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->corners); @@ -29491,7 +29590,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState___init__(st __pyx_v_self->corners = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":387 + /* "blokus_cython.pyx":392 * self.available_pieces = set() * self.corners = set() * self.score = 0 # <<<<<<<<<<<<<< @@ -29500,7 +29599,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState___init__(st */ __pyx_v_self->score = 0; - /* "blokus_gym/core/blokus_cython.pyx":388 + /* "blokus_cython.pyx":393 * self.corners = set() * self.score = 0 * self.has_started = False # <<<<<<<<<<<<<< @@ -29509,7 +29608,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState___init__(st */ __pyx_v_self->has_started = 0; - /* "blokus_gym/core/blokus_cython.pyx":389 + /* "blokus_cython.pyx":394 * self.score = 0 * self.has_started = False * self.can_move = True # <<<<<<<<<<<<<< @@ -29518,7 +29617,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState___init__(st */ __pyx_v_self->can_move = 1; - /* "blokus_gym/core/blokus_cython.pyx":383 + /* "blokus_cython.pyx":388 * cdef public bint can_move * * def __init__(self): # <<<<<<<<<<<<<< @@ -29531,14 +29630,14 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState___init__(st goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PlayerState.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PlayerState.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":376 +/* "blokus_cython.pyx":381 * """State for a single player.""" * * cdef public int idx # <<<<<<<<<<<<<< @@ -29547,21 +29646,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState___init__(st */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_3idx_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_3idx_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_11PlayerState_3idx_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_11PlayerState_3idx_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_3idx___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_11PlayerState_3idx___get__(((struct __pyx_obj_13blokus_cython_PlayerState *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_3idx___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_11PlayerState_3idx___get__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -29570,7 +29669,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_3idx_ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->idx); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 376, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->idx); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 381, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; @@ -29579,7 +29678,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_3idx_ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PlayerState.idx.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PlayerState.idx.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -29588,40 +29687,40 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_3idx_ } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_3idx_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_3idx_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_11PlayerState_3idx_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_11PlayerState_3idx_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_3idx_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_11PlayerState_3idx_2__set__(((struct __pyx_obj_13blokus_cython_PlayerState *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_3idx_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_11PlayerState_3idx_2__set__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __pyx_t_1 = __Pyx_PyLong_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 376, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyLong_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 381, __pyx_L1_error) __pyx_v_self->idx = __pyx_t_1; /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PlayerState.idx.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PlayerState.idx.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":377 +/* "blokus_cython.pyx":382 * * cdef public int idx * cdef public set available_pieces # <<<<<<<<<<<<<< @@ -29630,21 +29729,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_3idx_2__set */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_16available_pieces_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_16available_pieces_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_11PlayerState_16available_pieces_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_11PlayerState_16available_pieces_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_16available_pieces___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_11PlayerState_16available_pieces___get__(((struct __pyx_obj_13blokus_cython_PlayerState *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_16available_pieces___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_11PlayerState_16available_pieces___get__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); @@ -29661,21 +29760,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_16ava } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_16available_pieces_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_16available_pieces_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_11PlayerState_16available_pieces_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_11PlayerState_16available_pieces_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_16available_pieces_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_11PlayerState_16available_pieces_2__set__(((struct __pyx_obj_13blokus_cython_PlayerState *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_16available_pieces_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_11PlayerState_16available_pieces_2__set__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -29685,7 +29784,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_16available __Pyx_RefNannySetupContext("__set__", 0); __pyx_t_1 = __pyx_v_value; __Pyx_INCREF(__pyx_t_1); - if (!(likely(PySet_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("set", __pyx_t_1))) __PYX_ERR(0, 377, __pyx_L1_error) + if (!(likely(PySet_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("set", __pyx_t_1))) __PYX_ERR(0, 382, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->available_pieces); __Pyx_DECREF(__pyx_v_self->available_pieces); @@ -29697,7 +29796,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_16available goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PlayerState.available_pieces.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PlayerState.available_pieces.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); @@ -29705,21 +29804,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_16available } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_16available_pieces_5__del__(PyObject *__pyx_v_self); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_16available_pieces_5__del__(PyObject *__pyx_v_self) { +static int __pyx_pw_13blokus_cython_11PlayerState_16available_pieces_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_13blokus_cython_11PlayerState_16available_pieces_5__del__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_16available_pieces_4__del__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_11PlayerState_16available_pieces_4__del__(((struct __pyx_obj_13blokus_cython_PlayerState *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_16available_pieces_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self) { +static int __pyx_pf_13blokus_cython_11PlayerState_16available_pieces_4__del__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__", 0); @@ -29735,7 +29834,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_16available return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":378 +/* "blokus_cython.pyx":383 * cdef public int idx * cdef public set available_pieces * cdef public set corners # <<<<<<<<<<<<<< @@ -29744,21 +29843,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_16available */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_7corners_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_7corners_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_11PlayerState_7corners_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_11PlayerState_7corners_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_7corners___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_11PlayerState_7corners___get__(((struct __pyx_obj_13blokus_cython_PlayerState *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_7corners___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_11PlayerState_7corners___get__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); @@ -29775,21 +29874,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_7corn } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_7corners_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_7corners_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_11PlayerState_7corners_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_11PlayerState_7corners_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_7corners_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_11PlayerState_7corners_2__set__(((struct __pyx_obj_13blokus_cython_PlayerState *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_7corners_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_11PlayerState_7corners_2__set__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -29799,7 +29898,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_7corners_2_ __Pyx_RefNannySetupContext("__set__", 0); __pyx_t_1 = __pyx_v_value; __Pyx_INCREF(__pyx_t_1); - if (!(likely(PySet_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("set", __pyx_t_1))) __PYX_ERR(0, 378, __pyx_L1_error) + if (!(likely(PySet_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("set", __pyx_t_1))) __PYX_ERR(0, 383, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->corners); __Pyx_DECREF(__pyx_v_self->corners); @@ -29811,7 +29910,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_7corners_2_ goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PlayerState.corners.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PlayerState.corners.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); @@ -29819,21 +29918,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_7corners_2_ } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_7corners_5__del__(PyObject *__pyx_v_self); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_7corners_5__del__(PyObject *__pyx_v_self) { +static int __pyx_pw_13blokus_cython_11PlayerState_7corners_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_13blokus_cython_11PlayerState_7corners_5__del__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_7corners_4__del__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_11PlayerState_7corners_4__del__(((struct __pyx_obj_13blokus_cython_PlayerState *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_7corners_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self) { +static int __pyx_pf_13blokus_cython_11PlayerState_7corners_4__del__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__", 0); @@ -29849,7 +29948,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_7corners_4_ return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":379 +/* "blokus_cython.pyx":384 * cdef public set available_pieces * cdef public set corners * cdef public int score # <<<<<<<<<<<<<< @@ -29858,21 +29957,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_7corners_4_ */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_5score_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_5score_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_11PlayerState_5score_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_11PlayerState_5score_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_5score___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_11PlayerState_5score___get__(((struct __pyx_obj_13blokus_cython_PlayerState *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_5score___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_11PlayerState_5score___get__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -29881,7 +29980,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_5scor int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->score); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 379, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->score); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; @@ -29890,7 +29989,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_5scor /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PlayerState.score.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PlayerState.score.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -29899,40 +29998,40 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_5scor } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_5score_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_5score_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_11PlayerState_5score_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_11PlayerState_5score_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_5score_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_11PlayerState_5score_2__set__(((struct __pyx_obj_13blokus_cython_PlayerState *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_5score_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_11PlayerState_5score_2__set__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __pyx_t_1 = __Pyx_PyLong_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 379, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyLong_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 384, __pyx_L1_error) __pyx_v_self->score = __pyx_t_1; /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PlayerState.score.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PlayerState.score.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":380 +/* "blokus_cython.pyx":385 * cdef public set corners * cdef public int score * cdef public bint has_started # <<<<<<<<<<<<<< @@ -29941,21 +30040,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_5score_2__s */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_11has_started_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_11has_started_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_11PlayerState_11has_started_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_11PlayerState_11has_started_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_11has_started___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_11PlayerState_11has_started___get__(((struct __pyx_obj_13blokus_cython_PlayerState *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_11has_started___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_11PlayerState_11has_started___get__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -29964,7 +30063,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_11has int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->has_started); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 380, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->has_started); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 385, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; @@ -29973,7 +30072,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_11has /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PlayerState.has_started.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PlayerState.has_started.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -29982,40 +30081,40 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_11has } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_11has_started_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_11has_started_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_11PlayerState_11has_started_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_11PlayerState_11has_started_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_11has_started_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_11PlayerState_11has_started_2__set__(((struct __pyx_obj_13blokus_cython_PlayerState *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_11has_started_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_11PlayerState_11has_started_2__set__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 380, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 385, __pyx_L1_error) __pyx_v_self->has_started = __pyx_t_1; /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PlayerState.has_started.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PlayerState.has_started.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":381 +/* "blokus_cython.pyx":386 * cdef public int score * cdef public bint has_started * cdef public bint can_move # <<<<<<<<<<<<<< @@ -30024,21 +30123,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_11has_start */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_8can_move_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_8can_move_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_11PlayerState_8can_move_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_11PlayerState_8can_move_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_8can_move___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_11PlayerState_8can_move___get__(((struct __pyx_obj_13blokus_cython_PlayerState *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_8can_move___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_11PlayerState_8can_move___get__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -30047,7 +30146,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_8can_ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->can_move); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 381, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->can_move); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 386, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; @@ -30056,7 +30155,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_8can_ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PlayerState.can_move.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PlayerState.can_move.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -30065,34 +30164,34 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_8can_ } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_8can_move_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_8can_move_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_11PlayerState_8can_move_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_11PlayerState_8can_move_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_8can_move_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_11PlayerState_8can_move_2__set__(((struct __pyx_obj_13blokus_cython_PlayerState *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_8can_move_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_11PlayerState_8can_move_2__set__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 381, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 386, __pyx_L1_error) __pyx_v_self->can_move = __pyx_t_1; /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PlayerState.can_move.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PlayerState.can_move.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; return __pyx_r; @@ -30105,15 +30204,15 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_8can_move_2 */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_3__reduce_cython__(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_11PlayerState_3__reduce_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_11PlayerState_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_3__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_3__reduce_cython__(PyObject *__pyx_v_self, +static PyMethodDef __pyx_mdef_13blokus_cython_11PlayerState_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_11PlayerState_3__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_13blokus_cython_11PlayerState_3__reduce_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -30139,14 +30238,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; if (unlikely(__pyx_kwds_len < 0)) return NULL; if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_2__reduce_cython__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_11PlayerState_2__reduce_cython__(((struct __pyx_obj_13blokus_cython_PlayerState *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_2__reduce_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_11PlayerState_2__reduce_cython__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self) { PyObject *__pyx_v_state = 0; PyObject *__pyx_v__dict = 0; int __pyx_v_use_setstate; @@ -30392,7 +30491,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_2__re __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PlayerState.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PlayerState.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_state); @@ -30410,15 +30509,15 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_2__re */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_5__setstate_cython__(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_11PlayerState_5__setstate_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_11PlayerState_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_5__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_5__setstate_cython__(PyObject *__pyx_v_self, +static PyMethodDef __pyx_mdef_13blokus_cython_11PlayerState_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_11PlayerState_5__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_13blokus_cython_11PlayerState_5__setstate_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -30480,11 +30579,11 @@ PyObject *__pyx_args, PyObject *__pyx_kwds for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PlayerState.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PlayerState.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_4__setstate_cython__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)__pyx_v_self), __pyx_v___pyx_state); + __pyx_r = __pyx_pf_13blokus_cython_11PlayerState_4__setstate_cython__(((struct __pyx_obj_13blokus_cython_PlayerState *)__pyx_v_self), __pyx_v___pyx_state); /* function exit code */ for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { @@ -30494,7 +30593,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_4__setstate_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pf_13blokus_cython_11PlayerState_4__setstate_cython__(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_self, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -30516,7 +30615,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_4__se PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'"); __PYX_ERR(1, 17, __pyx_L1_error) } - __pyx_t_2 = __pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_PlayerState__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17, __pyx_L1_error) + __pyx_t_2 = __pyx_f_13blokus_cython___pyx_unpickle_PlayerState__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -30534,7 +30633,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_4__se __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.PlayerState.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.PlayerState.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -30542,7 +30641,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_4__se return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":413 +/* "blokus_cython.pyx":418 * cdef public list _starting_corners * * def __init__(self, int board_size=20, PieceSet pieces=None, int num_players=4, bint corner_rule=True): # <<<<<<<<<<<<<< @@ -30551,10 +30650,10 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_11PlayerState_4__se */ /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static int __pyx_pw_13blokus_cython_10BlokusGame_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_13blokus_cython_10BlokusGame_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_board_size; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_pieces = 0; + struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_pieces = 0; int __pyx_v_num_players; int __pyx_v_corner_rule; CYTHON_UNUSED Py_ssize_t __pyx_nargs; @@ -30575,86 +30674,86 @@ static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_1__init__(Py { PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_board_size,&__pyx_mstate_global->__pyx_n_u_pieces,&__pyx_mstate_global->__pyx_n_u_num_players,&__pyx_mstate_global->__pyx_n_u_corner_rule,0}; const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(0, 413, __pyx_L3_error) + if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(0, 418, __pyx_L3_error) if (__pyx_kwds_len > 0) { switch (__pyx_nargs) { case 4: values[3] = __Pyx_ArgRef_VARARGS(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 413, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 418, __pyx_L3_error) CYTHON_FALLTHROUGH; case 3: values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 413, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 418, __pyx_L3_error) CYTHON_FALLTHROUGH; case 2: values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 413, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 418, __pyx_L3_error) CYTHON_FALLTHROUGH; case 1: values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 413, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 418, __pyx_L3_error) CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 413, __pyx_L3_error) - if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)Py_None)); + if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 418, __pyx_L3_error) + if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_13blokus_cython_PieceSet *)Py_None)); } else { switch (__pyx_nargs) { case 4: values[3] = __Pyx_ArgRef_VARARGS(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 413, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 418, __pyx_L3_error) CYTHON_FALLTHROUGH; case 3: values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 413, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 418, __pyx_L3_error) CYTHON_FALLTHROUGH; case 2: values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 413, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 418, __pyx_L3_error) CYTHON_FALLTHROUGH; case 1: values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 413, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 418, __pyx_L3_error) CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } - if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)Py_None)); + if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_13blokus_cython_PieceSet *)Py_None)); } if (values[0]) { - __pyx_v_board_size = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_board_size == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 413, __pyx_L3_error) + __pyx_v_board_size = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_board_size == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 418, __pyx_L3_error) } else { __pyx_v_board_size = ((int)20); } - __pyx_v_pieces = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)values[1]); + __pyx_v_pieces = ((struct __pyx_obj_13blokus_cython_PieceSet *)values[1]); if (values[2]) { - __pyx_v_num_players = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_num_players == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 413, __pyx_L3_error) + __pyx_v_num_players = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_num_players == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 418, __pyx_L3_error) } else { __pyx_v_num_players = ((int)4); } if (values[3]) { - __pyx_v_corner_rule = __Pyx_PyObject_IsTrue(values[3]); if (unlikely((__pyx_v_corner_rule == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 413, __pyx_L3_error) + __pyx_v_corner_rule = __Pyx_PyObject_IsTrue(values[3]); if (unlikely((__pyx_v_corner_rule == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 418, __pyx_L3_error) } else { __pyx_v_corner_rule = ((int)1); } } goto __pyx_L6_skip; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 4, __pyx_nargs); __PYX_ERR(0, 413, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 4, __pyx_nargs); __PYX_ERR(0, 418, __pyx_L3_error) __pyx_L6_skip:; goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pieces), __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceSet, 1, "pieces", 0))) __PYX_ERR(0, 413, __pyx_L1_error) - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self), __pyx_v_board_size, __pyx_v_pieces, __pyx_v_num_players, __pyx_v_corner_rule); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pieces), __pyx_mstate_global->__pyx_ptype_13blokus_cython_PieceSet, 1, "pieces", 0))) __PYX_ERR(0, 418, __pyx_L1_error) + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame___init__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self), __pyx_v_board_size, __pyx_v_pieces, __pyx_v_num_players, __pyx_v_corner_rule); /* function exit code */ goto __pyx_L0; @@ -30673,11 +30772,11 @@ static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_1__init__(Py return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_board_size, struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v_pieces, int __pyx_v_num_players, int __pyx_v_corner_rule) { +static int __pyx_pf_13blokus_cython_10BlokusGame___init__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_board_size, struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v_pieces, int __pyx_v_num_players, int __pyx_v_corner_rule) { PyObject *__pyx_v_piece_id = NULL; long __pyx_v_max_idx; int __pyx_v_i; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_player = NULL; + struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_player = NULL; PyObject *__pyx_8genexpr6__pyx_v_idx = NULL; PyObject *__pyx_8genexpr6__pyx_v_move = NULL; int __pyx_r; @@ -30702,7 +30801,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__init__", 0); - /* "blokus_gym/core/blokus_cython.pyx":414 + /* "blokus_cython.pyx":419 * * def __init__(self, int board_size=20, PieceSet pieces=None, int num_players=4, bint corner_rule=True): * self.board_size = board_size # <<<<<<<<<<<<<< @@ -30711,14 +30810,14 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str */ __pyx_v_self->board_size = __pyx_v_board_size; - /* "blokus_gym/core/blokus_cython.pyx":415 + /* "blokus_cython.pyx":420 * def __init__(self, int board_size=20, PieceSet pieces=None, int num_players=4, bint corner_rule=True): * self.board_size = board_size * self.piece_set = pieces or PieceSet(STANDARD_PIECES) # <<<<<<<<<<<<<< * self.num_players = num_players * self.corner_rule = corner_rule */ - __pyx_t_2 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_pieces)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 415, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_pieces)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 420, __pyx_L1_error) if (!__pyx_t_2) { } else { __Pyx_INCREF((PyObject *)__pyx_v_pieces); @@ -30728,10 +30827,10 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str __pyx_t_4 = NULL; __pyx_t_5 = 1; { - PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_10blokus_gym_4core_13blokus_cython_STANDARD_PIECES}; - __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceSet, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_13blokus_cython_STANDARD_PIECES}; + __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_PieceSet, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 415, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 420, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_3); } __Pyx_INCREF(__pyx_t_3); @@ -30741,10 +30840,10 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str __Pyx_GIVEREF((PyObject *)__pyx_t_1); __Pyx_GOTREF((PyObject *)__pyx_v_self->piece_set); __Pyx_DECREF((PyObject *)__pyx_v_self->piece_set); - __pyx_v_self->piece_set = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)__pyx_t_1); + __pyx_v_self->piece_set = ((struct __pyx_obj_13blokus_cython_PieceSet *)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":416 + /* "blokus_cython.pyx":421 * self.board_size = board_size * self.piece_set = pieces or PieceSet(STANDARD_PIECES) * self.num_players = num_players # <<<<<<<<<<<<<< @@ -30753,7 +30852,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str */ __pyx_v_self->num_players = __pyx_v_num_players; - /* "blokus_gym/core/blokus_cython.pyx":417 + /* "blokus_cython.pyx":422 * self.piece_set = pieces or PieceSet(STANDARD_PIECES) * self.num_players = num_players * self.corner_rule = corner_rule # <<<<<<<<<<<<<< @@ -30762,7 +30861,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str */ __pyx_v_self->corner_rule = __pyx_v_corner_rule; - /* "blokus_gym/core/blokus_cython.pyx":419 + /* "blokus_cython.pyx":424 * self.corner_rule = corner_rule * * self.board = Board(board_size) # <<<<<<<<<<<<<< @@ -30770,15 +30869,15 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str * self.current_player = 0 */ __pyx_t_3 = NULL; - __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_board_size); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 419, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_board_size); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 424, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = 1; { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Board, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 419, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 424, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_1); } __Pyx_GIVEREF((PyObject *)__pyx_t_1); @@ -30787,14 +30886,14 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str __pyx_v_self->board = ((PyObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":420 + /* "blokus_cython.pyx":425 * * self.board = Board(board_size) * self.players = [] # <<<<<<<<<<<<<< * self.current_player = 0 * self.rounds = 0 */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 420, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 425, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->players); @@ -30802,7 +30901,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str __pyx_v_self->players = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":421 + /* "blokus_cython.pyx":426 * self.board = Board(board_size) * self.players = [] * self.current_player = 0 # <<<<<<<<<<<<<< @@ -30811,7 +30910,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str */ __pyx_v_self->current_player = 0; - /* "blokus_gym/core/blokus_cython.pyx":422 + /* "blokus_cython.pyx":427 * self.players = [] * self.current_player = 0 * self.rounds = 0 # <<<<<<<<<<<<<< @@ -30820,7 +30919,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str */ __pyx_v_self->rounds = 0; - /* "blokus_gym/core/blokus_cython.pyx":423 + /* "blokus_cython.pyx":428 * self.current_player = 0 * self.rounds = 0 * self.game_over = False # <<<<<<<<<<<<<< @@ -30829,14 +30928,14 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str */ __pyx_v_self->game_over = 0; - /* "blokus_gym/core/blokus_cython.pyx":426 + /* "blokus_cython.pyx":431 * * # Pre-compute all possible moves * self._action_moves = [] # <<<<<<<<<<<<<< * self._move_to_action = {} * self._generate_action_space() */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 426, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->_action_moves); @@ -30844,14 +30943,14 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str __pyx_v_self->_action_moves = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":427 + /* "blokus_cython.pyx":432 * # Pre-compute all possible moves * self._action_moves = [] * self._move_to_action = {} # <<<<<<<<<<<<<< * self._generate_action_space() * */ - __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 427, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 432, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->_move_to_action); @@ -30859,23 +30958,23 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str __pyx_v_self->_move_to_action = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":428 + /* "blokus_cython.pyx":433 * self._action_moves = [] * self._move_to_action = {} * self._generate_action_space() # <<<<<<<<<<<<<< * * # Pre-compute action indices per piece */ - ((struct __pyx_vtabstruct_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->_generate_action_space(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 428, __pyx_L1_error) + ((struct __pyx_vtabstruct_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->_generate_action_space(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 433, __pyx_L1_error) - /* "blokus_gym/core/blokus_cython.pyx":431 + /* "blokus_cython.pyx":436 * * # Pre-compute action indices per piece * self._actions_by_piece = [] # <<<<<<<<<<<<<< * for piece_id in range(self.piece_set.num_pieces): * self._actions_by_piece.append([ */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 431, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 436, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->_actions_by_piece); @@ -30883,7 +30982,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str __pyx_v_self->_actions_by_piece = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":432 + /* "blokus_cython.pyx":437 * # Pre-compute action indices per piece * self._actions_by_piece = [] * for piece_id in range(self.piece_set.num_pieces): # <<<<<<<<<<<<<< @@ -30891,7 +30990,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str * idx for idx, move in enumerate(self._action_moves) */ __pyx_t_4 = NULL; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->piece_set), __pyx_mstate_global->__pyx_n_u_num_pieces); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 432, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->piece_set), __pyx_mstate_global->__pyx_n_u_num_pieces); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = 1; { @@ -30899,12 +30998,12 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyRange_Type), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 432, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } - __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 432, __pyx_L1_error) + __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 432, __pyx_L1_error) + __pyx_t_6 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 437, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { { @@ -30912,7 +31011,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 432, __pyx_L1_error) + if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 437, __pyx_L1_error) PyErr_Clear(); } break; @@ -30922,7 +31021,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str __Pyx_XDECREF_SET(__pyx_v_piece_id, __pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":433 + /* "blokus_cython.pyx":438 * self._actions_by_piece = [] * for piece_id in range(self.piece_set.num_pieces): * self._actions_by_piece.append([ # <<<<<<<<<<<<<< @@ -30931,15 +31030,15 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str */ if (unlikely(__pyx_v_self->_actions_by_piece == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append"); - __PYX_ERR(0, 433, __pyx_L1_error) + __PYX_ERR(0, 438, __pyx_L1_error) } { /* enter inner scope */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 433, __pyx_L9_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 438, __pyx_L9_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0); __pyx_t_4 = __pyx_mstate_global->__pyx_int_0; - /* "blokus_gym/core/blokus_cython.pyx":434 + /* "blokus_cython.pyx":439 * for piece_id in range(self.piece_set.num_pieces): * self._actions_by_piece.append([ * idx for idx, move in enumerate(self._action_moves) # <<<<<<<<<<<<<< @@ -30952,49 +31051,49 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 434, __pyx_L9_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 439, __pyx_L9_error) #endif if (__pyx_t_8 >= __pyx_temp) break; } __pyx_t_9 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference); ++__pyx_t_8; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 434, __pyx_L9_error) + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 439, __pyx_L9_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_XDECREF_SET(__pyx_8genexpr6__pyx_v_move, __pyx_t_9); __pyx_t_9 = 0; __Pyx_INCREF(__pyx_t_4); __Pyx_XDECREF_SET(__pyx_8genexpr6__pyx_v_idx, __pyx_t_4); - __pyx_t_9 = __Pyx_PyLong_AddObjC(__pyx_t_4, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 434, __pyx_L9_error) + __pyx_t_9 = __Pyx_PyLong_AddObjC(__pyx_t_4, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 439, __pyx_L9_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = __pyx_t_9; __pyx_t_9 = 0; - /* "blokus_gym/core/blokus_cython.pyx":435 + /* "blokus_cython.pyx":440 * self._actions_by_piece.append([ * idx for idx, move in enumerate(self._action_moves) * if move.piece_id == piece_id # <<<<<<<<<<<<<< * ]) * */ - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_8genexpr6__pyx_v_move, __pyx_mstate_global->__pyx_n_u_piece_id); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 435, __pyx_L9_error) + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_8genexpr6__pyx_v_move, __pyx_mstate_global->__pyx_n_u_piece_id); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 440, __pyx_L9_error) __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = PyObject_RichCompare(__pyx_t_9, __pyx_v_piece_id, Py_EQ); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 435, __pyx_L9_error) + __pyx_t_10 = PyObject_RichCompare(__pyx_t_9, __pyx_v_piece_id, Py_EQ); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 440, __pyx_L9_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 435, __pyx_L9_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 440, __pyx_L9_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_2) { - /* "blokus_gym/core/blokus_cython.pyx":434 + /* "blokus_cython.pyx":439 * for piece_id in range(self.piece_set.num_pieces): * self._actions_by_piece.append([ * idx for idx, move in enumerate(self._action_moves) # <<<<<<<<<<<<<< * if move.piece_id == piece_id * ]) */ - if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_8genexpr6__pyx_v_idx))) __PYX_ERR(0, 433, __pyx_L9_error) + if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_8genexpr6__pyx_v_idx))) __PYX_ERR(0, 438, __pyx_L9_error) - /* "blokus_gym/core/blokus_cython.pyx":435 + /* "blokus_cython.pyx":440 * self._actions_by_piece.append([ * idx for idx, move in enumerate(self._action_moves) * if move.piece_id == piece_id # <<<<<<<<<<<<<< @@ -31003,7 +31102,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str */ } - /* "blokus_gym/core/blokus_cython.pyx":434 + /* "blokus_cython.pyx":439 * for piece_id in range(self.piece_set.num_pieces): * self._actions_by_piece.append([ * idx for idx, move in enumerate(self._action_moves) # <<<<<<<<<<<<<< @@ -31023,17 +31122,17 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str __pyx_L14_exit_scope:; } /* exit inner scope */ - /* "blokus_gym/core/blokus_cython.pyx":433 + /* "blokus_cython.pyx":438 * self._actions_by_piece = [] * for piece_id in range(self.piece_set.num_pieces): * self._actions_by_piece.append([ # <<<<<<<<<<<<<< * idx for idx, move in enumerate(self._action_moves) * if move.piece_id == piece_id */ - __pyx_t_11 = __Pyx_PyList_Append(__pyx_v_self->_actions_by_piece, __pyx_t_1); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 433, __pyx_L1_error) + __pyx_t_11 = __Pyx_PyList_Append(__pyx_v_self->_actions_by_piece, __pyx_t_1); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 438, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":432 + /* "blokus_cython.pyx":437 * # Pre-compute action indices per piece * self._actions_by_piece = [] * for piece_id in range(self.piece_set.num_pieces): # <<<<<<<<<<<<<< @@ -31043,7 +31142,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":439 + /* "blokus_cython.pyx":444 * * # Starting corners * max_idx = board_size - 1 # <<<<<<<<<<<<<< @@ -31052,80 +31151,80 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str */ __pyx_v_max_idx = (__pyx_v_board_size - 1); - /* "blokus_gym/core/blokus_cython.pyx":442 + /* "blokus_cython.pyx":447 * self._starting_corners = [ * (0, 0), * (0, max_idx), # <<<<<<<<<<<<<< * (max_idx, 0), * (max_idx, max_idx), */ - __pyx_t_3 = __Pyx_PyLong_From_long(__pyx_v_max_idx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 442, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyLong_From_long(__pyx_v_max_idx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 442, __pyx_L1_error) + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_0); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_mstate_global->__pyx_int_0) != (0)) __PYX_ERR(0, 442, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_mstate_global->__pyx_int_0) != (0)) __PYX_ERR(0, 447, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 442, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 447, __pyx_L1_error); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":443 + /* "blokus_cython.pyx":448 * (0, 0), * (0, max_idx), * (max_idx, 0), # <<<<<<<<<<<<<< * (max_idx, max_idx), * ] */ - __pyx_t_3 = __Pyx_PyLong_From_long(__pyx_v_max_idx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 443, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyLong_From_long(__pyx_v_max_idx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 443, __pyx_L1_error) + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 443, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 448, __pyx_L1_error); __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_0); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_mstate_global->__pyx_int_0) != (0)) __PYX_ERR(0, 443, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_mstate_global->__pyx_int_0) != (0)) __PYX_ERR(0, 448, __pyx_L1_error); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":444 + /* "blokus_cython.pyx":449 * (0, max_idx), * (max_idx, 0), * (max_idx, max_idx), # <<<<<<<<<<<<<< * ] * if num_players == 2: */ - __pyx_t_3 = __Pyx_PyLong_From_long(__pyx_v_max_idx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 444, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyLong_From_long(__pyx_v_max_idx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_7 = __Pyx_PyLong_From_long(__pyx_v_max_idx); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 444, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyLong_From_long(__pyx_v_max_idx); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); - __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 444, __pyx_L1_error) + __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 444, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 449, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_7); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 444, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 449, __pyx_L1_error); __pyx_t_3 = 0; __pyx_t_7 = 0; - /* "blokus_gym/core/blokus_cython.pyx":440 + /* "blokus_cython.pyx":445 * # Starting corners * max_idx = board_size - 1 * self._starting_corners = [ # <<<<<<<<<<<<<< * (0, 0), * (0, max_idx), */ - __pyx_t_7 = PyList_New(4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 440, __pyx_L1_error) + __pyx_t_7 = PyList_New(4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 445, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_mstate_global->__pyx_tuple[6]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[6]); - if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_mstate_global->__pyx_tuple[6]) != (0)) __PYX_ERR(0, 440, __pyx_L1_error); + if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_mstate_global->__pyx_tuple[6]) != (0)) __PYX_ERR(0, 445, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 1, __pyx_t_1) != (0)) __PYX_ERR(0, 440, __pyx_L1_error); + if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 1, __pyx_t_1) != (0)) __PYX_ERR(0, 445, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 2, __pyx_t_4) != (0)) __PYX_ERR(0, 440, __pyx_L1_error); + if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 2, __pyx_t_4) != (0)) __PYX_ERR(0, 445, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_10); - if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 3, __pyx_t_10) != (0)) __PYX_ERR(0, 440, __pyx_L1_error); + if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 3, __pyx_t_10) != (0)) __PYX_ERR(0, 445, __pyx_L1_error); __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_10 = 0; @@ -31135,7 +31234,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str __pyx_v_self->_starting_corners = ((PyObject*)__pyx_t_7); __pyx_t_7 = 0; - /* "blokus_gym/core/blokus_cython.pyx":446 + /* "blokus_cython.pyx":451 * (max_idx, max_idx), * ] * if num_players == 2: # <<<<<<<<<<<<<< @@ -31145,32 +31244,32 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str switch (__pyx_v_num_players) { case 2: - /* "blokus_gym/core/blokus_cython.pyx":447 + /* "blokus_cython.pyx":452 * ] * if num_players == 2: * self._starting_corners = [(0, 0), (max_idx, max_idx)] # <<<<<<<<<<<<<< * elif num_players == 3: * self._starting_corners = [(0, 0), (0, max_idx), (max_idx, 0)] */ - __pyx_t_7 = __Pyx_PyLong_From_long(__pyx_v_max_idx); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 447, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyLong_From_long(__pyx_v_max_idx); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); - __pyx_t_10 = __Pyx_PyLong_From_long(__pyx_v_max_idx); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 447, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyLong_From_long(__pyx_v_max_idx); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 447, __pyx_L1_error) + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_7); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 447, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 452, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_10); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_10) != (0)) __PYX_ERR(0, 447, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_10) != (0)) __PYX_ERR(0, 452, __pyx_L1_error); __pyx_t_7 = 0; __pyx_t_10 = 0; - __pyx_t_10 = PyList_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 447, __pyx_L1_error) + __pyx_t_10 = PyList_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_INCREF(__pyx_mstate_global->__pyx_tuple[6]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[6]); - if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_tuple[6]) != (0)) __PYX_ERR(0, 447, __pyx_L1_error); + if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_tuple[6]) != (0)) __PYX_ERR(0, 452, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 1, __pyx_t_4) != (0)) __PYX_ERR(0, 447, __pyx_L1_error); + if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 1, __pyx_t_4) != (0)) __PYX_ERR(0, 452, __pyx_L1_error); __pyx_t_4 = 0; __Pyx_GIVEREF(__pyx_t_10); __Pyx_GOTREF(__pyx_v_self->_starting_corners); @@ -31178,7 +31277,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str __pyx_v_self->_starting_corners = ((PyObject*)__pyx_t_10); __pyx_t_10 = 0; - /* "blokus_gym/core/blokus_cython.pyx":446 + /* "blokus_cython.pyx":451 * (max_idx, max_idx), * ] * if num_players == 2: # <<<<<<<<<<<<<< @@ -31188,42 +31287,42 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str break; case 3: - /* "blokus_gym/core/blokus_cython.pyx":449 + /* "blokus_cython.pyx":454 * self._starting_corners = [(0, 0), (max_idx, max_idx)] * elif num_players == 3: * self._starting_corners = [(0, 0), (0, max_idx), (max_idx, 0)] # <<<<<<<<<<<<<< * * # Initialize players */ - __pyx_t_10 = __Pyx_PyLong_From_long(__pyx_v_max_idx); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 449, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyLong_From_long(__pyx_v_max_idx); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 449, __pyx_L1_error) + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_0); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_mstate_global->__pyx_int_0) != (0)) __PYX_ERR(0, 449, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_mstate_global->__pyx_int_0) != (0)) __PYX_ERR(0, 454, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_10); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_10) != (0)) __PYX_ERR(0, 449, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_10) != (0)) __PYX_ERR(0, 454, __pyx_L1_error); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyLong_From_long(__pyx_v_max_idx); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 449, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyLong_From_long(__pyx_v_max_idx); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 449, __pyx_L1_error) + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_10); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_10) != (0)) __PYX_ERR(0, 449, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_10) != (0)) __PYX_ERR(0, 454, __pyx_L1_error); __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_0); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_mstate_global->__pyx_int_0) != (0)) __PYX_ERR(0, 449, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_mstate_global->__pyx_int_0) != (0)) __PYX_ERR(0, 454, __pyx_L1_error); __pyx_t_10 = 0; - __pyx_t_10 = PyList_New(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 449, __pyx_L1_error) + __pyx_t_10 = PyList_New(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_INCREF(__pyx_mstate_global->__pyx_tuple[6]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[6]); - if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_tuple[6]) != (0)) __PYX_ERR(0, 449, __pyx_L1_error); + if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_tuple[6]) != (0)) __PYX_ERR(0, 454, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 1, __pyx_t_4) != (0)) __PYX_ERR(0, 449, __pyx_L1_error); + if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 1, __pyx_t_4) != (0)) __PYX_ERR(0, 454, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_7); - if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 2, __pyx_t_7) != (0)) __PYX_ERR(0, 449, __pyx_L1_error); + if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 2, __pyx_t_7) != (0)) __PYX_ERR(0, 454, __pyx_L1_error); __pyx_t_4 = 0; __pyx_t_7 = 0; __Pyx_GIVEREF(__pyx_t_10); @@ -31232,7 +31331,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str __pyx_v_self->_starting_corners = ((PyObject*)__pyx_t_10); __pyx_t_10 = 0; - /* "blokus_gym/core/blokus_cython.pyx":448 + /* "blokus_cython.pyx":453 * if num_players == 2: * self._starting_corners = [(0, 0), (max_idx, max_idx)] * elif num_players == 3: # <<<<<<<<<<<<<< @@ -31243,7 +31342,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str default: break; } - /* "blokus_gym/core/blokus_cython.pyx":452 + /* "blokus_cython.pyx":457 * * # Initialize players * for i in range(self.num_players): # <<<<<<<<<<<<<< @@ -31255,7 +31354,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_i = __pyx_t_14; - /* "blokus_gym/core/blokus_cython.pyx":453 + /* "blokus_cython.pyx":458 * # Initialize players * for i in range(self.num_players): * player = PlayerState() # <<<<<<<<<<<<<< @@ -31266,15 +31365,15 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str __pyx_t_5 = 1; { PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL}; - __pyx_t_10 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PlayerState, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + __pyx_t_10 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_PlayerState, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 453, __pyx_L1_error) + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 458, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_10); } - __Pyx_XDECREF_SET(__pyx_v_player, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)__pyx_t_10)); + __Pyx_XDECREF_SET(__pyx_v_player, ((struct __pyx_obj_13blokus_cython_PlayerState *)__pyx_t_10)); __pyx_t_10 = 0; - /* "blokus_gym/core/blokus_cython.pyx":454 + /* "blokus_cython.pyx":459 * for i in range(self.num_players): * player = PlayerState() * player.idx = i # <<<<<<<<<<<<<< @@ -31283,14 +31382,14 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str */ __pyx_v_player->idx = __pyx_v_i; - /* "blokus_gym/core/blokus_cython.pyx":455 + /* "blokus_cython.pyx":460 * player = PlayerState() * player.idx = i * player.available_pieces = set(self.piece_set.piece_names) # <<<<<<<<<<<<<< * if self.corner_rule and i < len(self._starting_corners): * player.corners = {self._starting_corners[i]} */ - __pyx_t_10 = PySet_New(__pyx_v_self->piece_set->piece_names); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 455, __pyx_L1_error) + __pyx_t_10 = PySet_New(__pyx_v_self->piece_set->piece_names); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 460, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __Pyx_GOTREF(__pyx_v_player->available_pieces); @@ -31298,7 +31397,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str __pyx_v_player->available_pieces = ((PyObject*)__pyx_t_10); __pyx_t_10 = 0; - /* "blokus_gym/core/blokus_cython.pyx":456 + /* "blokus_cython.pyx":461 * player.idx = i * player.available_pieces = set(self.piece_set.piece_names) * if self.corner_rule and i < len(self._starting_corners): # <<<<<<<<<<<<<< @@ -31314,16 +31413,16 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str __Pyx_INCREF(__pyx_t_10); if (unlikely(__pyx_t_10 == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); - __PYX_ERR(0, 456, __pyx_L1_error) + __PYX_ERR(0, 461, __pyx_L1_error) } - __pyx_t_8 = __Pyx_PyList_GET_SIZE(__pyx_t_10); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 456, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyList_GET_SIZE(__pyx_t_10); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 461, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_15 = (__pyx_v_i < __pyx_t_8); __pyx_t_2 = __pyx_t_15; __pyx_L19_bool_binop_done:; if (__pyx_t_2) { - /* "blokus_gym/core/blokus_cython.pyx":457 + /* "blokus_cython.pyx":462 * player.available_pieces = set(self.piece_set.piece_names) * if self.corner_rule and i < len(self._starting_corners): * player.corners = {self._starting_corners[i]} # <<<<<<<<<<<<<< @@ -31332,13 +31431,13 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str */ if (unlikely(__pyx_v_self->_starting_corners == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 457, __pyx_L1_error) + __PYX_ERR(0, 462, __pyx_L1_error) } - __pyx_t_10 = __Pyx_GetItemInt_List(__pyx_v_self->_starting_corners, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 457, __pyx_L1_error) + __pyx_t_10 = __Pyx_GetItemInt_List(__pyx_v_self->_starting_corners, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_7 = PySet_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 457, __pyx_L1_error) + __pyx_t_7 = PySet_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); - if (PySet_Add(__pyx_t_7, __pyx_t_10) < (0)) __PYX_ERR(0, 457, __pyx_L1_error) + if (PySet_Add(__pyx_t_7, __pyx_t_10) < (0)) __PYX_ERR(0, 462, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GIVEREF(__pyx_t_7); __Pyx_GOTREF(__pyx_v_player->corners); @@ -31346,7 +31445,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str __pyx_v_player->corners = ((PyObject*)__pyx_t_7); __pyx_t_7 = 0; - /* "blokus_gym/core/blokus_cython.pyx":456 + /* "blokus_cython.pyx":461 * player.idx = i * player.available_pieces = set(self.piece_set.piece_names) * if self.corner_rule and i < len(self._starting_corners): # <<<<<<<<<<<<<< @@ -31356,7 +31455,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str goto __pyx_L18; } - /* "blokus_gym/core/blokus_cython.pyx":459 + /* "blokus_cython.pyx":464 * player.corners = {self._starting_corners[i]} * else: * player.corners = set() # <<<<<<<<<<<<<< @@ -31364,7 +31463,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str * player.has_started = False */ /*else*/ { - __pyx_t_7 = PySet_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 459, __pyx_L1_error) + __pyx_t_7 = PySet_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 464, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __Pyx_GOTREF(__pyx_v_player->corners); @@ -31374,7 +31473,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str } __pyx_L18:; - /* "blokus_gym/core/blokus_cython.pyx":460 + /* "blokus_cython.pyx":465 * else: * player.corners = set() * player.score = 0 # <<<<<<<<<<<<<< @@ -31383,7 +31482,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str */ __pyx_v_player->score = 0; - /* "blokus_gym/core/blokus_cython.pyx":461 + /* "blokus_cython.pyx":466 * player.corners = set() * player.score = 0 * player.has_started = False # <<<<<<<<<<<<<< @@ -31392,7 +31491,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str */ __pyx_v_player->has_started = 0; - /* "blokus_gym/core/blokus_cython.pyx":462 + /* "blokus_cython.pyx":467 * player.score = 0 * player.has_started = False * player.can_move = True # <<<<<<<<<<<<<< @@ -31401,7 +31500,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str */ __pyx_v_player->can_move = 1; - /* "blokus_gym/core/blokus_cython.pyx":463 + /* "blokus_cython.pyx":468 * player.has_started = False * player.can_move = True * self.players.append(player) # <<<<<<<<<<<<<< @@ -31410,12 +31509,12 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str */ if (unlikely(__pyx_v_self->players == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append"); - __PYX_ERR(0, 463, __pyx_L1_error) + __PYX_ERR(0, 468, __pyx_L1_error) } - __pyx_t_11 = __Pyx_PyList_Append(__pyx_v_self->players, ((PyObject *)__pyx_v_player)); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 463, __pyx_L1_error) + __pyx_t_11 = __Pyx_PyList_Append(__pyx_v_self->players, ((PyObject *)__pyx_v_player)); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 468, __pyx_L1_error) } - /* "blokus_gym/core/blokus_cython.pyx":413 + /* "blokus_cython.pyx":418 * cdef public list _starting_corners * * def __init__(self, int board_size=20, PieceSet pieces=None, int num_players=4, bint corner_rule=True): # <<<<<<<<<<<<<< @@ -31433,7 +31532,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_piece_id); @@ -31443,9 +31542,9 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame___init__(str __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_generate_action_space_2generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ +static PyObject *__pyx_gb_13blokus_cython_10BlokusGame_22_generate_action_space_2generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ -/* "blokus_gym/core/blokus_cython.pyx":481 +/* "blokus_cython.pyx":486 * for orient_id, orient in enumerate(self.piece_set.get_orientations(piece_id)): * squares = orient.squares * max_x = max(x for x, _ in squares) # <<<<<<<<<<<<<< @@ -31453,19 +31552,19 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_gen * */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_generate_action_space_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr *__pyx_cur_scope; +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_22_generate_action_space_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) { + struct __pyx_obj_13blokus_cython___pyx_scope_struct_3_genexpr *__pyx_cur_scope; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("genexpr", 0); - __pyx_cur_scope = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr *)__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL); + __pyx_cur_scope = (struct __pyx_obj_13blokus_cython___pyx_scope_struct_3_genexpr *)__pyx_tp_new_13blokus_cython___pyx_scope_struct_3_genexpr(__pyx_mstate_global->__pyx_ptype_13blokus_cython___pyx_scope_struct_3_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL); if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr *)Py_None); + __pyx_cur_scope = ((struct __pyx_obj_13blokus_cython___pyx_scope_struct_3_genexpr *)Py_None); __Pyx_INCREF(Py_None); - __PYX_ERR(0, 481, __pyx_L1_error) + __PYX_ERR(0, 486, __pyx_L1_error) } else { __Pyx_GOTREF((PyObject *)__pyx_cur_scope); } @@ -31473,7 +31572,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_gen __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0); { - __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_generate_action_space_2generator3, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[3]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_BlokusGame__generate_action_spac, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython); if (unlikely(!gen)) __PYX_ERR(0, 481, __pyx_L1_error) + __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_13blokus_cython_10BlokusGame_22_generate_action_space_2generator3, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[3]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_BlokusGame__generate_action_spac, __pyx_mstate_global->__pyx_n_u_blokus_cython); if (unlikely(!gen)) __PYX_ERR(0, 486, __pyx_L1_error) __Pyx_DECREF(__pyx_cur_scope); __Pyx_RefNannyFinishContext(); return (PyObject *) gen; @@ -31481,7 +31580,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_gen /* function exit code */ __pyx_L1_error:; - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame._generate_action_space.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame._generate_action_space.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __Pyx_DECREF((PyObject *)__pyx_cur_scope); __Pyx_XGIVEREF(__pyx_r); @@ -31489,9 +31588,9 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_gen return __pyx_r; } -static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_generate_action_space_2generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ +static PyObject *__pyx_gb_13blokus_cython_10BlokusGame_22_generate_action_space_2generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr *__pyx_cur_scope = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr *)__pyx_generator->closure); + struct __pyx_obj_13blokus_cython___pyx_scope_struct_3_genexpr *__pyx_cur_scope = ((struct __pyx_obj_13blokus_cython___pyx_scope_struct_3_genexpr *)__pyx_generator->closure); PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; Py_ssize_t __pyx_t_2; @@ -31515,12 +31614,12 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_gen __pyx_L3_first_run:; if (unlikely(__pyx_sent_value != Py_None)) { if (unlikely(__pyx_sent_value)) PyErr_SetString(PyExc_TypeError, "can't send non-None value to a just-started generator"); - __PYX_ERR(0, 481, __pyx_L1_error) + __PYX_ERR(0, 486, __pyx_L1_error) } - if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 481, __pyx_L1_error) } + if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 486, __pyx_L1_error) } if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 481, __pyx_L1_error) + __PYX_ERR(0, 486, __pyx_L1_error) } __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; @@ -31528,13 +31627,13 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_gen { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 481, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 486, __pyx_L1_error) #endif if (__pyx_t_2 >= __pyx_temp) break; } __pyx_t_3 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference); ++__pyx_t_2; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 481, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 486, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { PyObject* sequence = __pyx_t_3; @@ -31542,7 +31641,7 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_gen if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 481, __pyx_L1_error) + __PYX_ERR(0, 486, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { @@ -31552,22 +31651,22 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_gen __Pyx_INCREF(__pyx_t_5); } else { __pyx_t_4 = __Pyx_PyList_GET_ITEM_REF(sequence, 0, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 481, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 486, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyList_GET_ITEM_REF(sequence, 1, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 481, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 486, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_5); } #else - __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 481, __pyx_L1_error) + __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 486, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 481, __pyx_L1_error) + __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 486, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; - __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 481, __pyx_L1_error) + __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 486, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); @@ -31575,7 +31674,7 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_gen __Pyx_GOTREF(__pyx_t_4); index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L6_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < (0)) __PYX_ERR(0, 481, __pyx_L1_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < (0)) __PYX_ERR(0, 486, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L7_unpacking_done; @@ -31583,7 +31682,7 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_gen __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 481, __pyx_L1_error) + __PYX_ERR(0, 486, __pyx_L1_error) __pyx_L7_unpacking_done:; } __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_x); @@ -31610,7 +31709,7 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_gen __pyx_cur_scope->__pyx_t_0 = 0; __Pyx_XGOTREF(__pyx_t_1); __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 481, __pyx_L1_error) + if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 486, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); @@ -31638,9 +31737,9 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_gen __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_generate_action_space_5generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ +static PyObject *__pyx_gb_13blokus_cython_10BlokusGame_22_generate_action_space_5generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ -/* "blokus_gym/core/blokus_cython.pyx":482 +/* "blokus_cython.pyx":487 * squares = orient.squares * max_x = max(x for x, _ in squares) * max_y = max(y for _, y in squares) # <<<<<<<<<<<<<< @@ -31648,19 +31747,19 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_gen * for px in range(self.board_size - max_x): */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_generate_action_space_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr *__pyx_cur_scope; +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_22_generate_action_space_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) { + struct __pyx_obj_13blokus_cython___pyx_scope_struct_4_genexpr *__pyx_cur_scope; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("genexpr", 0); - __pyx_cur_scope = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr *)__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL); + __pyx_cur_scope = (struct __pyx_obj_13blokus_cython___pyx_scope_struct_4_genexpr *)__pyx_tp_new_13blokus_cython___pyx_scope_struct_4_genexpr(__pyx_mstate_global->__pyx_ptype_13blokus_cython___pyx_scope_struct_4_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL); if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr *)Py_None); + __pyx_cur_scope = ((struct __pyx_obj_13blokus_cython___pyx_scope_struct_4_genexpr *)Py_None); __Pyx_INCREF(Py_None); - __PYX_ERR(0, 482, __pyx_L1_error) + __PYX_ERR(0, 487, __pyx_L1_error) } else { __Pyx_GOTREF((PyObject *)__pyx_cur_scope); } @@ -31668,7 +31767,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_gen __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0); { - __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_generate_action_space_5generator4, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[4]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_BlokusGame__generate_action_spac, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython); if (unlikely(!gen)) __PYX_ERR(0, 482, __pyx_L1_error) + __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_13blokus_cython_10BlokusGame_22_generate_action_space_5generator4, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[4]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_BlokusGame__generate_action_spac, __pyx_mstate_global->__pyx_n_u_blokus_cython); if (unlikely(!gen)) __PYX_ERR(0, 487, __pyx_L1_error) __Pyx_DECREF(__pyx_cur_scope); __Pyx_RefNannyFinishContext(); return (PyObject *) gen; @@ -31676,7 +31775,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_gen /* function exit code */ __pyx_L1_error:; - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame._generate_action_space.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame._generate_action_space.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __Pyx_DECREF((PyObject *)__pyx_cur_scope); __Pyx_XGIVEREF(__pyx_r); @@ -31684,9 +31783,9 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_gen return __pyx_r; } -static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_generate_action_space_5generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ +static PyObject *__pyx_gb_13blokus_cython_10BlokusGame_22_generate_action_space_5generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr *__pyx_cur_scope = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr *)__pyx_generator->closure); + struct __pyx_obj_13blokus_cython___pyx_scope_struct_4_genexpr *__pyx_cur_scope = ((struct __pyx_obj_13blokus_cython___pyx_scope_struct_4_genexpr *)__pyx_generator->closure); PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; Py_ssize_t __pyx_t_2; @@ -31710,12 +31809,12 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_gen __pyx_L3_first_run:; if (unlikely(__pyx_sent_value != Py_None)) { if (unlikely(__pyx_sent_value)) PyErr_SetString(PyExc_TypeError, "can't send non-None value to a just-started generator"); - __PYX_ERR(0, 482, __pyx_L1_error) + __PYX_ERR(0, 487, __pyx_L1_error) } - if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 482, __pyx_L1_error) } + if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 487, __pyx_L1_error) } if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 482, __pyx_L1_error) + __PYX_ERR(0, 487, __pyx_L1_error) } __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; @@ -31723,13 +31822,13 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_gen { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 482, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 487, __pyx_L1_error) #endif if (__pyx_t_2 >= __pyx_temp) break; } __pyx_t_3 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference); ++__pyx_t_2; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 482, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 487, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { PyObject* sequence = __pyx_t_3; @@ -31737,7 +31836,7 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_gen if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 482, __pyx_L1_error) + __PYX_ERR(0, 487, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { @@ -31747,22 +31846,22 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_gen __Pyx_INCREF(__pyx_t_5); } else { __pyx_t_4 = __Pyx_PyList_GET_ITEM_REF(sequence, 0, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 482, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 487, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyList_GET_ITEM_REF(sequence, 1, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 482, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 487, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_5); } #else - __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 482, __pyx_L1_error) + __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 487, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 482, __pyx_L1_error) + __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 487, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; - __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 482, __pyx_L1_error) + __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 487, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); @@ -31770,7 +31869,7 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_gen __Pyx_GOTREF(__pyx_t_4); index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L6_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < (0)) __PYX_ERR(0, 482, __pyx_L1_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < (0)) __PYX_ERR(0, 487, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L7_unpacking_done; @@ -31778,7 +31877,7 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_gen __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 482, __pyx_L1_error) + __PYX_ERR(0, 487, __pyx_L1_error) __pyx_L7_unpacking_done:; } __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__); @@ -31805,7 +31904,7 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_gen __pyx_cur_scope->__pyx_t_0 = 0; __Pyx_XGOTREF(__pyx_t_1); __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 482, __pyx_L1_error) + if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 487, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); @@ -31834,7 +31933,7 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_gen return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":465 +/* "blokus_cython.pyx":470 * self.players.append(player) * * cdef void _generate_action_space(self): # <<<<<<<<<<<<<< @@ -31842,19 +31941,19 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_gen * cdef int piece_id, orient_id */ -static void __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__generate_action_space(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { +static void __pyx_f_13blokus_cython_10BlokusGame__generate_action_space(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { int __pyx_v_piece_id; int __pyx_v_orient_id; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_orient = 0; + struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_orient = 0; PyObject *__pyx_v_squares = 0; int __pyx_v_max_x; int __pyx_v_max_y; int __pyx_v_px; int __pyx_v_py; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_move = 0; + struct __pyx_obj_13blokus_cython_Move *__pyx_v_move = 0; int __pyx_v_action_idx; - PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_generate_action_space_2generator3 = 0; - PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_generate_action_space_5generator4 = 0; + PyObject *__pyx_gb_13blokus_cython_10BlokusGame_22_generate_action_space_2generator3 = 0; + PyObject *__pyx_gb_13blokus_cython_10BlokusGame_22_generate_action_space_5generator4 = 0; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; Py_ssize_t __pyx_t_2; @@ -31883,14 +31982,14 @@ static void __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__generate_ac int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_generate_action_space", 0); - /* "blokus_gym/core/blokus_cython.pyx":475 + /* "blokus_cython.pyx":480 * cdef int action_idx * * self._action_moves = [] # <<<<<<<<<<<<<< * self._move_to_action = {} * */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 475, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 480, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->_action_moves); @@ -31898,14 +31997,14 @@ static void __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__generate_ac __pyx_v_self->_action_moves = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":476 + /* "blokus_cython.pyx":481 * * self._action_moves = [] * self._move_to_action = {} # <<<<<<<<<<<<<< * * for piece_id in range(self.piece_set.num_pieces): */ - __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 476, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 481, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->_move_to_action); @@ -31913,22 +32012,22 @@ static void __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__generate_ac __pyx_v_self->_move_to_action = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":478 + /* "blokus_cython.pyx":483 * self._move_to_action = {} * * for piece_id in range(self.piece_set.num_pieces): # <<<<<<<<<<<<<< * for orient_id, orient in enumerate(self.piece_set.get_orientations(piece_id)): * squares = orient.squares */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->piece_set), __pyx_mstate_global->__pyx_n_u_num_pieces); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 478, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->piece_set), __pyx_mstate_global->__pyx_n_u_num_pieces); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 483, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 478, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 483, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __pyx_t_2; for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_piece_id = __pyx_t_4; - /* "blokus_gym/core/blokus_cython.pyx":479 + /* "blokus_cython.pyx":484 * * for piece_id in range(self.piece_set.num_pieces): * for orient_id, orient in enumerate(self.piece_set.get_orientations(piece_id)): # <<<<<<<<<<<<<< @@ -31938,7 +32037,7 @@ static void __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__generate_ac __pyx_t_5 = 0; __pyx_t_6 = ((PyObject *)__pyx_v_self->piece_set); __Pyx_INCREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyLong_From_int(__pyx_v_piece_id); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 479, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyLong_From_int(__pyx_v_piece_id); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = 0; { @@ -31946,7 +32045,7 @@ static void __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__generate_ac __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_orientations, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 479, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { @@ -31954,9 +32053,9 @@ static void __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__generate_ac __pyx_t_9 = 0; __pyx_t_10 = NULL; } else { - __pyx_t_9 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 479, __pyx_L1_error) + __pyx_t_9 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); - __pyx_t_10 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 479, __pyx_L1_error) + __pyx_t_10 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 484, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { @@ -31965,7 +32064,7 @@ static void __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__generate_ac { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 479, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 484, __pyx_L1_error) #endif if (__pyx_t_9 >= __pyx_temp) break; } @@ -31975,7 +32074,7 @@ static void __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__generate_ac { Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 479, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 484, __pyx_L1_error) #endif if (__pyx_t_9 >= __pyx_temp) break; } @@ -31986,26 +32085,26 @@ static void __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__generate_ac #endif ++__pyx_t_9; } - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 479, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 484, __pyx_L1_error) } else { __pyx_t_1 = __pyx_t_10(__pyx_t_7); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 479, __pyx_L1_error) + if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 484, __pyx_L1_error) PyErr_Clear(); } break; } } __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceOrientation))))) __PYX_ERR(0, 479, __pyx_L1_error) - __Pyx_XDECREF_SET(__pyx_v_orient, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *)__pyx_t_1)); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_13blokus_cython_PieceOrientation))))) __PYX_ERR(0, 484, __pyx_L1_error) + __Pyx_XDECREF_SET(__pyx_v_orient, ((struct __pyx_obj_13blokus_cython_PieceOrientation *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_orient_id = __pyx_t_5; __pyx_t_5 = (__pyx_t_5 + 1); - /* "blokus_gym/core/blokus_cython.pyx":480 + /* "blokus_cython.pyx":485 * for piece_id in range(self.piece_set.num_pieces): * for orient_id, orient in enumerate(self.piece_set.get_orientations(piece_id)): * squares = orient.squares # <<<<<<<<<<<<<< @@ -32017,7 +32116,7 @@ static void __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__generate_ac __Pyx_XDECREF_SET(__pyx_v_squares, ((PyObject*)__pyx_t_1)); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":481 + /* "blokus_cython.pyx":486 * for orient_id, orient in enumerate(self.piece_set.get_orientations(piece_id)): * squares = orient.squares * max_x = max(x for x, _ in squares) # <<<<<<<<<<<<<< @@ -32025,7 +32124,7 @@ static void __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__generate_ac * */ __pyx_t_6 = NULL; - __pyx_t_11 = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_generate_action_space_genexpr(NULL, __pyx_v_squares); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 481, __pyx_L1_error) + __pyx_t_11 = __pyx_pf_13blokus_cython_10BlokusGame_22_generate_action_space_genexpr(NULL, __pyx_v_squares); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 486, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_8 = 1; { @@ -32033,14 +32132,14 @@ static void __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__generate_ac __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_max, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 481, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 486, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } - __pyx_t_12 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 481, __pyx_L1_error) + __pyx_t_12 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 486, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_max_x = __pyx_t_12; - /* "blokus_gym/core/blokus_cython.pyx":482 + /* "blokus_cython.pyx":487 * squares = orient.squares * max_x = max(x for x, _ in squares) * max_y = max(y for _, y in squares) # <<<<<<<<<<<<<< @@ -32048,7 +32147,7 @@ static void __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__generate_ac * for px in range(self.board_size - max_x): */ __pyx_t_11 = NULL; - __pyx_t_6 = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_generate_action_space_3genexpr(NULL, __pyx_v_squares); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 482, __pyx_L1_error) + __pyx_t_6 = __pyx_pf_13blokus_cython_10BlokusGame_22_generate_action_space_3genexpr(NULL, __pyx_v_squares); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 487, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = 1; { @@ -32056,14 +32155,14 @@ static void __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__generate_ac __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_max, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 482, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 487, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } - __pyx_t_12 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 482, __pyx_L1_error) + __pyx_t_12 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 487, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_max_y = __pyx_t_12; - /* "blokus_gym/core/blokus_cython.pyx":484 + /* "blokus_cython.pyx":489 * max_y = max(y for _, y in squares) * * for px in range(self.board_size - max_x): # <<<<<<<<<<<<<< @@ -32075,7 +32174,7 @@ static void __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__generate_ac for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_px = __pyx_t_14; - /* "blokus_gym/core/blokus_cython.pyx":485 + /* "blokus_cython.pyx":490 * * for px in range(self.board_size - max_x): * for py in range(self.board_size - max_y): # <<<<<<<<<<<<<< @@ -32087,7 +32186,7 @@ static void __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__generate_ac for (__pyx_t_17 = 0; __pyx_t_17 < __pyx_t_16; __pyx_t_17+=1) { __pyx_v_py = __pyx_t_17; - /* "blokus_gym/core/blokus_cython.pyx":486 + /* "blokus_cython.pyx":491 * for px in range(self.board_size - max_x): * for py in range(self.board_size - max_y): * move = Move(piece_id, orient_id, px, py) # <<<<<<<<<<<<<< @@ -32095,30 +32194,30 @@ static void __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__generate_ac * self._action_moves.append(move) */ __pyx_t_6 = NULL; - __pyx_t_11 = __Pyx_PyLong_From_int(__pyx_v_piece_id); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 486, __pyx_L1_error) + __pyx_t_11 = __Pyx_PyLong_From_int(__pyx_v_piece_id); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 491, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); - __pyx_t_18 = __Pyx_PyLong_From_int(__pyx_v_orient_id); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 486, __pyx_L1_error) + __pyx_t_18 = __Pyx_PyLong_From_int(__pyx_v_orient_id); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 491, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); - __pyx_t_19 = __Pyx_PyLong_From_int(__pyx_v_px); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 486, __pyx_L1_error) + __pyx_t_19 = __Pyx_PyLong_From_int(__pyx_v_px); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 491, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); - __pyx_t_20 = __Pyx_PyLong_From_int(__pyx_v_py); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 486, __pyx_L1_error) + __pyx_t_20 = __Pyx_PyLong_From_int(__pyx_v_py); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 491, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_8 = 1; { PyObject *__pyx_callargs[5] = {__pyx_t_6, __pyx_t_11, __pyx_t_18, __pyx_t_19, __pyx_t_20}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Move, __pyx_callargs+__pyx_t_8, (5-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Move, __pyx_callargs+__pyx_t_8, (5-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 486, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 491, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_1); } - __Pyx_XDECREF_SET(__pyx_v_move, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *)__pyx_t_1)); + __Pyx_XDECREF_SET(__pyx_v_move, ((struct __pyx_obj_13blokus_cython_Move *)__pyx_t_1)); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":487 + /* "blokus_cython.pyx":492 * for py in range(self.board_size - max_y): * move = Move(piece_id, orient_id, px, py) * action_idx = len(self._action_moves) # <<<<<<<<<<<<<< @@ -32129,13 +32228,13 @@ static void __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__generate_ac __Pyx_INCREF(__pyx_t_1); if (unlikely(__pyx_t_1 == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); - __PYX_ERR(0, 487, __pyx_L1_error) + __PYX_ERR(0, 492, __pyx_L1_error) } - __pyx_t_21 = __Pyx_PyList_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_21 == ((Py_ssize_t)-1))) __PYX_ERR(0, 487, __pyx_L1_error) + __pyx_t_21 = __Pyx_PyList_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_21 == ((Py_ssize_t)-1))) __PYX_ERR(0, 492, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_action_idx = __pyx_t_21; - /* "blokus_gym/core/blokus_cython.pyx":488 + /* "blokus_cython.pyx":493 * move = Move(piece_id, orient_id, px, py) * action_idx = len(self._action_moves) * self._action_moves.append(move) # <<<<<<<<<<<<<< @@ -32144,52 +32243,52 @@ static void __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__generate_ac */ if (unlikely(__pyx_v_self->_action_moves == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append"); - __PYX_ERR(0, 488, __pyx_L1_error) + __PYX_ERR(0, 493, __pyx_L1_error) } - __pyx_t_22 = __Pyx_PyList_Append(__pyx_v_self->_action_moves, ((PyObject *)__pyx_v_move)); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(0, 488, __pyx_L1_error) + __pyx_t_22 = __Pyx_PyList_Append(__pyx_v_self->_action_moves, ((PyObject *)__pyx_v_move)); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(0, 493, __pyx_L1_error) - /* "blokus_gym/core/blokus_cython.pyx":489 + /* "blokus_cython.pyx":494 * action_idx = len(self._action_moves) * self._action_moves.append(move) * self._move_to_action[(piece_id, orient_id, px, py)] = action_idx # <<<<<<<<<<<<<< * * @property */ - __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_action_idx); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 489, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_action_idx); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(__pyx_v_self->_move_to_action == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 489, __pyx_L1_error) + __PYX_ERR(0, 494, __pyx_L1_error) } - __pyx_t_20 = __Pyx_PyLong_From_int(__pyx_v_piece_id); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 489, __pyx_L1_error) + __pyx_t_20 = __Pyx_PyLong_From_int(__pyx_v_piece_id); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); - __pyx_t_19 = __Pyx_PyLong_From_int(__pyx_v_orient_id); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 489, __pyx_L1_error) + __pyx_t_19 = __Pyx_PyLong_From_int(__pyx_v_orient_id); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); - __pyx_t_18 = __Pyx_PyLong_From_int(__pyx_v_px); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 489, __pyx_L1_error) + __pyx_t_18 = __Pyx_PyLong_From_int(__pyx_v_px); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); - __pyx_t_11 = __Pyx_PyLong_From_int(__pyx_v_py); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 489, __pyx_L1_error) + __pyx_t_11 = __Pyx_PyLong_From_int(__pyx_v_py); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); - __pyx_t_6 = PyTuple_New(4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 489, __pyx_L1_error) + __pyx_t_6 = PyTuple_New(4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_20); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_20) != (0)) __PYX_ERR(0, 489, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_20) != (0)) __PYX_ERR(0, 494, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_19); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_19) != (0)) __PYX_ERR(0, 489, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_19) != (0)) __PYX_ERR(0, 494, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_18); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_18) != (0)) __PYX_ERR(0, 489, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_18) != (0)) __PYX_ERR(0, 494, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_11); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_t_11) != (0)) __PYX_ERR(0, 489, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_t_11) != (0)) __PYX_ERR(0, 494, __pyx_L1_error); __pyx_t_20 = 0; __pyx_t_19 = 0; __pyx_t_18 = 0; __pyx_t_11 = 0; - if (unlikely((PyDict_SetItem(__pyx_v_self->_move_to_action, __pyx_t_6, __pyx_t_1) < 0))) __PYX_ERR(0, 489, __pyx_L1_error) + if (unlikely((PyDict_SetItem(__pyx_v_self->_move_to_action, __pyx_t_6, __pyx_t_1) < 0))) __PYX_ERR(0, 494, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } } - /* "blokus_gym/core/blokus_cython.pyx":479 + /* "blokus_cython.pyx":484 * * for piece_id in range(self.piece_set.num_pieces): * for orient_id, orient in enumerate(self.piece_set.get_orientations(piece_id)): # <<<<<<<<<<<<<< @@ -32200,7 +32299,7 @@ static void __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__generate_ac __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } - /* "blokus_gym/core/blokus_cython.pyx":465 + /* "blokus_cython.pyx":470 * self.players.append(player) * * cdef void _generate_action_space(self): # <<<<<<<<<<<<<< @@ -32218,17 +32317,17 @@ static void __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__generate_ac __Pyx_XDECREF(__pyx_t_18); __Pyx_XDECREF(__pyx_t_19); __Pyx_XDECREF(__pyx_t_20); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame._generate_action_space", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame._generate_action_space", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_orient); __Pyx_XDECREF(__pyx_v_squares); __Pyx_XDECREF((PyObject *)__pyx_v_move); - __Pyx_XDECREF(__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_generate_action_space_2generator3); - __Pyx_XDECREF(__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_22_generate_action_space_5generator4); + __Pyx_XDECREF(__pyx_gb_13blokus_cython_10BlokusGame_22_generate_action_space_2generator3); + __Pyx_XDECREF(__pyx_gb_13blokus_cython_10BlokusGame_22_generate_action_space_5generator4); __Pyx_RefNannyFinishContext(); } -/* "blokus_gym/core/blokus_cython.pyx":491 +/* "blokus_cython.pyx":496 * self._move_to_action[(piece_id, orient_id, px, py)] = action_idx * * @property # <<<<<<<<<<<<<< @@ -32237,21 +32336,21 @@ static void __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__generate_ac */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_actions_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_actions_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_11num_actions_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_11num_actions_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_actions___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_11num_actions___get__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_actions___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_11num_actions___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -32261,7 +32360,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); - /* "blokus_gym/core/blokus_cython.pyx":493 + /* "blokus_cython.pyx":498 * @property * def num_actions(self) -> int: * return len(self._action_moves) # <<<<<<<<<<<<<< @@ -32273,17 +32372,17 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_ __Pyx_INCREF(__pyx_t_1); if (unlikely(__pyx_t_1 == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); - __PYX_ERR(0, 493, __pyx_L1_error) + __PYX_ERR(0, 498, __pyx_L1_error) } - __pyx_t_2 = __Pyx_PyList_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 493, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyList_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 498, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyLong_FromSsize_t(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 493, __pyx_L1_error) + __pyx_t_1 = PyLong_FromSsize_t(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 498, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":491 + /* "blokus_cython.pyx":496 * self._move_to_action[(piece_id, orient_id, px, py)] = action_idx * * @property # <<<<<<<<<<<<<< @@ -32294,7 +32393,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.num_actions.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.num_actions.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -32302,7 +32401,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_ return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":495 +/* "blokus_cython.pyx":500 * return len(self._action_moves) * * def get_move(self, int action) -> Move: # <<<<<<<<<<<<<< @@ -32311,15 +32410,15 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_ */ /* Python wrapper */ -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_3get_move(PyObject *__pyx_v_self, +static struct __pyx_obj_13blokus_cython_Move *__pyx_pw_13blokus_cython_10BlokusGame_3get_move(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_3get_move = {"get_move", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_3get_move, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_3get_move(PyObject *__pyx_v_self, +static PyMethodDef __pyx_mdef_13blokus_cython_10BlokusGame_3get_move = {"get_move", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_3get_move, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static struct __pyx_obj_13blokus_cython_Move *__pyx_pw_13blokus_cython_10BlokusGame_3get_move(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -32335,7 +32434,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_r = 0; + struct __pyx_obj_13blokus_cython_Move *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("get_move (wrapper)", 0); #if !CYTHON_METH_FASTCALL @@ -32349,43 +32448,43 @@ PyObject *__pyx_args, PyObject *__pyx_kwds { PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_action,0}; const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(0, 495, __pyx_L3_error) + if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(0, 500, __pyx_L3_error) if (__pyx_kwds_len > 0) { switch (__pyx_nargs) { case 1: values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 495, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 500, __pyx_L3_error) CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_move", 0) < (0)) __PYX_ERR(0, 495, __pyx_L3_error) + if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_move", 0) < (0)) __PYX_ERR(0, 500, __pyx_L3_error) for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_move", 1, 1, 1, i); __PYX_ERR(0, 495, __pyx_L3_error) } + if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_move", 1, 1, 1, i); __PYX_ERR(0, 500, __pyx_L3_error) } } } else if (unlikely(__pyx_nargs != 1)) { goto __pyx_L5_argtuple_error; } else { values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 495, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 500, __pyx_L3_error) } - __pyx_v_action = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_action == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 495, __pyx_L3_error) + __pyx_v_action = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_action == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 500, __pyx_L3_error) } goto __pyx_L6_skip; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("get_move", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 495, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_move", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 500, __pyx_L3_error) __pyx_L6_skip:; goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.get_move", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.get_move", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_2get_move(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self), __pyx_v_action); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_2get_move(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self), __pyx_v_action); /* function exit code */ for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { @@ -32395,8 +32494,8 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_2get_move(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_action) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_r = NULL; +static struct __pyx_obj_13blokus_cython_Move *__pyx_pf_13blokus_cython_10BlokusGame_2get_move(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_action) { + struct __pyx_obj_13blokus_cython_Move *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; @@ -32404,7 +32503,7 @@ static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_pf_10blok int __pyx_clineno = 0; __Pyx_RefNannySetupContext("get_move", 0); - /* "blokus_gym/core/blokus_cython.pyx":496 + /* "blokus_cython.pyx":501 * * def get_move(self, int action) -> Move: * return self._action_moves[action] # <<<<<<<<<<<<<< @@ -32414,16 +32513,16 @@ static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_pf_10blok __Pyx_XDECREF((PyObject *)__pyx_r); if (unlikely(__pyx_v_self->_action_moves == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 496, __pyx_L1_error) + __PYX_ERR(0, 501, __pyx_L1_error) } - __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_self->_action_moves, __pyx_v_action, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 496, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_self->_action_moves, __pyx_v_action, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 501, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Move))))) __PYX_ERR(0, 496, __pyx_L1_error) - __pyx_r = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *)__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_13blokus_cython_Move))))) __PYX_ERR(0, 501, __pyx_L1_error) + __pyx_r = ((struct __pyx_obj_13blokus_cython_Move *)__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":495 + /* "blokus_cython.pyx":500 * return len(self._action_moves) * * def get_move(self, int action) -> Move: # <<<<<<<<<<<<<< @@ -32434,7 +32533,7 @@ static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_pf_10blok /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.get_move", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.get_move", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF((PyObject *)__pyx_r); @@ -32442,7 +32541,7 @@ static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_pf_10blok return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":498 +/* "blokus_cython.pyx":503 * return self._action_moves[action] * * def get_action(self, Move move) -> int: # <<<<<<<<<<<<<< @@ -32451,22 +32550,22 @@ static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_pf_10blok */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_5get_action(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_5get_action(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_5get_action = {"get_action", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_5get_action, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_5get_action(PyObject *__pyx_v_self, +static PyMethodDef __pyx_mdef_13blokus_cython_10BlokusGame_5get_action = {"get_action", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_5get_action, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_5get_action(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_move = 0; + struct __pyx_obj_13blokus_cython_Move *__pyx_v_move = 0; #if !CYTHON_METH_FASTCALL CYTHON_UNUSED Py_ssize_t __pyx_nargs; #endif @@ -32489,44 +32588,44 @@ PyObject *__pyx_args, PyObject *__pyx_kwds { PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_move,0}; const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(0, 498, __pyx_L3_error) + if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(0, 503, __pyx_L3_error) if (__pyx_kwds_len > 0) { switch (__pyx_nargs) { case 1: values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 498, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 503, __pyx_L3_error) CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_action", 0) < (0)) __PYX_ERR(0, 498, __pyx_L3_error) + if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_action", 0) < (0)) __PYX_ERR(0, 503, __pyx_L3_error) for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_action", 1, 1, 1, i); __PYX_ERR(0, 498, __pyx_L3_error) } + if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_action", 1, 1, 1, i); __PYX_ERR(0, 503, __pyx_L3_error) } } } else if (unlikely(__pyx_nargs != 1)) { goto __pyx_L5_argtuple_error; } else { values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 498, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 503, __pyx_L3_error) } - __pyx_v_move = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *)values[0]); + __pyx_v_move = ((struct __pyx_obj_13blokus_cython_Move *)values[0]); } goto __pyx_L6_skip; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("get_action", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 498, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_action", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 503, __pyx_L3_error) __pyx_L6_skip:; goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.get_action", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.get_action", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_move), __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Move, 1, "move", 0))) __PYX_ERR(0, 498, __pyx_L1_error) - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_4get_action(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self), __pyx_v_move); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_move), __pyx_mstate_global->__pyx_ptype_13blokus_cython_Move, 1, "move", 0))) __PYX_ERR(0, 503, __pyx_L1_error) + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_4get_action(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self), __pyx_v_move); /* function exit code */ goto __pyx_L0; @@ -32545,7 +32644,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_4get_action(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_move) { +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_4get_action(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, struct __pyx_obj_13blokus_cython_Move *__pyx_v_move) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -32558,7 +32657,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_4get_a int __pyx_clineno = 0; __Pyx_RefNannySetupContext("get_action", 0); - /* "blokus_gym/core/blokus_cython.pyx":499 + /* "blokus_cython.pyx":504 * * def get_action(self, Move move) -> int: * return self._move_to_action[(move.piece_id, move.orientation_id, move.x, move.y)] # <<<<<<<<<<<<<< @@ -32568,39 +32667,39 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_4get_a __Pyx_XDECREF(__pyx_r); if (unlikely(__pyx_v_self->_move_to_action == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 499, __pyx_L1_error) + __PYX_ERR(0, 504, __pyx_L1_error) } - __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_move->piece_id); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 499, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_move->piece_id); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_move->orientation_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 499, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_move->orientation_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_move->x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 499, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_move->x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_move->y); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 499, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_move->y); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 499, __pyx_L1_error) + __pyx_t_5 = PyTuple_New(4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 499, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 504, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_2); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_2) != (0)) __PYX_ERR(0, 499, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_2) != (0)) __PYX_ERR(0, 504, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_3) != (0)) __PYX_ERR(0, 499, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_3) != (0)) __PYX_ERR(0, 504, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_4) != (0)) __PYX_ERR(0, 499, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_4) != (0)) __PYX_ERR(0, 504, __pyx_L1_error); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_self->_move_to_action, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 499, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_self->_move_to_action, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__Pyx_PyInt_FromNumber(&__pyx_t_4, NULL, 1) < (0)) __PYX_ERR(0, 499, __pyx_L1_error) + if (__Pyx_PyInt_FromNumber(&__pyx_t_4, NULL, 1) < (0)) __PYX_ERR(0, 504, __pyx_L1_error) __pyx_r = ((PyObject*)__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":498 + /* "blokus_cython.pyx":503 * return self._action_moves[action] * * def get_action(self, Move move) -> int: # <<<<<<<<<<<<<< @@ -32615,7 +32714,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_4get_a __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.get_action", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.get_action", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -32623,7 +32722,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_4get_a return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":501 +/* "blokus_cython.pyx":506 * return self._move_to_action[(move.piece_id, move.orientation_id, move.x, move.y)] * * def reset(self) -> None: # <<<<<<<<<<<<<< @@ -32632,16 +32731,16 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_4get_a */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_7reset(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_7reset(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -PyDoc_STRVAR(__pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset, "Reset the game to its initial state."); -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_7reset = {"reset", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_7reset, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_7reset(PyObject *__pyx_v_self, +PyDoc_STRVAR(__pyx_doc_13blokus_cython_10BlokusGame_6reset, "Reset the game to its initial state."); +static PyMethodDef __pyx_mdef_13blokus_cython_10BlokusGame_7reset = {"reset", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_7reset, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_10BlokusGame_6reset}; +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_7reset(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -32667,16 +32766,16 @@ PyObject *__pyx_args, PyObject *__pyx_kwds const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; if (unlikely(__pyx_kwds_len < 0)) return NULL; if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("reset", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_6reset(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_6reset(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { int __pyx_v_i; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_player = NULL; + struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_player = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -32695,7 +32794,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset int __pyx_clineno = 0; __Pyx_RefNannySetupContext("reset", 0); - /* "blokus_gym/core/blokus_cython.pyx":503 + /* "blokus_cython.pyx":508 * def reset(self) -> None: * """Reset the game to its initial state.""" * self.board = Board(self.board_size) # <<<<<<<<<<<<<< @@ -32703,15 +32802,15 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset * self.current_player = 0 */ __pyx_t_2 = NULL; - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_self->board_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 503, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_self->board_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 508, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = 1; { PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Board, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 503, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 508, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_1); } __Pyx_GIVEREF((PyObject *)__pyx_t_1); @@ -32720,14 +32819,14 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset __pyx_v_self->board = ((PyObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":504 + /* "blokus_cython.pyx":509 * """Reset the game to its initial state.""" * self.board = Board(self.board_size) * self.players = [] # <<<<<<<<<<<<<< * self.current_player = 0 * self.rounds = 0 */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 504, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 509, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->players); @@ -32735,7 +32834,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset __pyx_v_self->players = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":505 + /* "blokus_cython.pyx":510 * self.board = Board(self.board_size) * self.players = [] * self.current_player = 0 # <<<<<<<<<<<<<< @@ -32744,7 +32843,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset */ __pyx_v_self->current_player = 0; - /* "blokus_gym/core/blokus_cython.pyx":506 + /* "blokus_cython.pyx":511 * self.players = [] * self.current_player = 0 * self.rounds = 0 # <<<<<<<<<<<<<< @@ -32753,7 +32852,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset */ __pyx_v_self->rounds = 0; - /* "blokus_gym/core/blokus_cython.pyx":507 + /* "blokus_cython.pyx":512 * self.current_player = 0 * self.rounds = 0 * self.game_over = False # <<<<<<<<<<<<<< @@ -32762,7 +32861,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset */ __pyx_v_self->game_over = 0; - /* "blokus_gym/core/blokus_cython.pyx":509 + /* "blokus_cython.pyx":514 * self.game_over = False * * for i in range(self.num_players): # <<<<<<<<<<<<<< @@ -32774,7 +32873,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i = __pyx_t_7; - /* "blokus_gym/core/blokus_cython.pyx":510 + /* "blokus_cython.pyx":515 * * for i in range(self.num_players): * player = PlayerState() # <<<<<<<<<<<<<< @@ -32785,15 +32884,15 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset __pyx_t_4 = 1; { PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PlayerState, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_PlayerState, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 510, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 515, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_1); } - __Pyx_XDECREF_SET(__pyx_v_player, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)__pyx_t_1)); + __Pyx_XDECREF_SET(__pyx_v_player, ((struct __pyx_obj_13blokus_cython_PlayerState *)__pyx_t_1)); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":511 + /* "blokus_cython.pyx":516 * for i in range(self.num_players): * player = PlayerState() * player.idx = i # <<<<<<<<<<<<<< @@ -32802,14 +32901,14 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset */ __pyx_v_player->idx = __pyx_v_i; - /* "blokus_gym/core/blokus_cython.pyx":512 + /* "blokus_cython.pyx":517 * player = PlayerState() * player.idx = i * player.available_pieces = set(self.piece_set.piece_names) # <<<<<<<<<<<<<< * if self.corner_rule and i < len(self._starting_corners): * player.corners = {self._starting_corners[i]} */ - __pyx_t_1 = PySet_New(__pyx_v_self->piece_set->piece_names); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 512, __pyx_L1_error) + __pyx_t_1 = PySet_New(__pyx_v_self->piece_set->piece_names); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 517, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_player->available_pieces); @@ -32817,7 +32916,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset __pyx_v_player->available_pieces = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":513 + /* "blokus_cython.pyx":518 * player.idx = i * player.available_pieces = set(self.piece_set.piece_names) * if self.corner_rule and i < len(self._starting_corners): # <<<<<<<<<<<<<< @@ -32833,16 +32932,16 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset __Pyx_INCREF(__pyx_t_1); if (unlikely(__pyx_t_1 == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); - __PYX_ERR(0, 513, __pyx_L1_error) + __PYX_ERR(0, 518, __pyx_L1_error) } - __pyx_t_9 = __Pyx_PyList_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 513, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyList_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 518, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_10 = (__pyx_v_i < __pyx_t_9); __pyx_t_8 = __pyx_t_10; __pyx_L6_bool_binop_done:; if (__pyx_t_8) { - /* "blokus_gym/core/blokus_cython.pyx":514 + /* "blokus_cython.pyx":519 * player.available_pieces = set(self.piece_set.piece_names) * if self.corner_rule and i < len(self._starting_corners): * player.corners = {self._starting_corners[i]} # <<<<<<<<<<<<<< @@ -32851,13 +32950,13 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset */ if (unlikely(__pyx_v_self->_starting_corners == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 514, __pyx_L1_error) + __PYX_ERR(0, 519, __pyx_L1_error) } - __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_self->_starting_corners, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 514, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_self->_starting_corners, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 519, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PySet_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 514, __pyx_L1_error) + __pyx_t_3 = PySet_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 519, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (PySet_Add(__pyx_t_3, __pyx_t_1) < (0)) __PYX_ERR(0, 514, __pyx_L1_error) + if (PySet_Add(__pyx_t_3, __pyx_t_1) < (0)) __PYX_ERR(0, 519, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GIVEREF(__pyx_t_3); __Pyx_GOTREF(__pyx_v_player->corners); @@ -32865,7 +32964,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset __pyx_v_player->corners = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":513 + /* "blokus_cython.pyx":518 * player.idx = i * player.available_pieces = set(self.piece_set.piece_names) * if self.corner_rule and i < len(self._starting_corners): # <<<<<<<<<<<<<< @@ -32875,7 +32974,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset goto __pyx_L5; } - /* "blokus_gym/core/blokus_cython.pyx":516 + /* "blokus_cython.pyx":521 * player.corners = {self._starting_corners[i]} * else: * player.corners = set() # <<<<<<<<<<<<<< @@ -32883,7 +32982,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset * player.has_started = False */ /*else*/ { - __pyx_t_3 = PySet_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 516, __pyx_L1_error) + __pyx_t_3 = PySet_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __Pyx_GOTREF(__pyx_v_player->corners); @@ -32893,7 +32992,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset } __pyx_L5:; - /* "blokus_gym/core/blokus_cython.pyx":517 + /* "blokus_cython.pyx":522 * else: * player.corners = set() * player.score = 0 # <<<<<<<<<<<<<< @@ -32902,7 +33001,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset */ __pyx_v_player->score = 0; - /* "blokus_gym/core/blokus_cython.pyx":518 + /* "blokus_cython.pyx":523 * player.corners = set() * player.score = 0 * player.has_started = False # <<<<<<<<<<<<<< @@ -32911,7 +33010,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset */ __pyx_v_player->has_started = 0; - /* "blokus_gym/core/blokus_cython.pyx":519 + /* "blokus_cython.pyx":524 * player.score = 0 * player.has_started = False * player.can_move = True # <<<<<<<<<<<<<< @@ -32920,7 +33019,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset */ __pyx_v_player->can_move = 1; - /* "blokus_gym/core/blokus_cython.pyx":520 + /* "blokus_cython.pyx":525 * player.has_started = False * player.can_move = True * self.players.append(player) # <<<<<<<<<<<<<< @@ -32929,12 +33028,12 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset */ if (unlikely(__pyx_v_self->players == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append"); - __PYX_ERR(0, 520, __pyx_L1_error) + __PYX_ERR(0, 525, __pyx_L1_error) } - __pyx_t_11 = __Pyx_PyList_Append(__pyx_v_self->players, ((PyObject *)__pyx_v_player)); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 520, __pyx_L1_error) + __pyx_t_11 = __Pyx_PyList_Append(__pyx_v_self->players, ((PyObject *)__pyx_v_player)); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 525, __pyx_L1_error) } - /* "blokus_gym/core/blokus_cython.pyx":501 + /* "blokus_cython.pyx":506 * return self._move_to_action[(move.piece_id, move.orientation_id, move.x, move.y)] * * def reset(self) -> None: # <<<<<<<<<<<<<< @@ -32949,7 +33048,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.reset", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.reset", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_player); @@ -32958,7 +33057,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":522 +/* "blokus_cython.pyx":527 * self.players.append(player) * * cdef list _get_placed_squares(self, Move move): # <<<<<<<<<<<<<< @@ -32966,8 +33065,8 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset * cdef PieceOrientation orient = self.piece_set.get_orientations(move.piece_id)[move.orientation_id] */ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_placed_squares(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_move) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_orient = 0; +static PyObject *__pyx_f_13blokus_cython_10BlokusGame__get_placed_squares(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, struct __pyx_obj_13blokus_cython_Move *__pyx_v_move) { + struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_orient = 0; PyObject *__pyx_v_result = 0; int __pyx_v_dx; int __pyx_v_dy; @@ -32989,7 +33088,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_pl int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_get_placed_squares", 0); - /* "blokus_gym/core/blokus_cython.pyx":524 + /* "blokus_cython.pyx":529 * cdef list _get_placed_squares(self, Move move): * """Get the absolute board coordinates for a move.""" * cdef PieceOrientation orient = self.piece_set.get_orientations(move.piece_id)[move.orientation_id] # <<<<<<<<<<<<<< @@ -32998,7 +33097,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_pl */ __pyx_t_2 = ((PyObject *)__pyx_v_self->piece_set); __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_move->piece_id); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 524, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_move->piece_id); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 529, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = 0; { @@ -33006,29 +33105,29 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_pl __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_orientations, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 524, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 529, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } - __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_1, __pyx_v_move->orientation_id, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 524, __pyx_L1_error) + __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_1, __pyx_v_move->orientation_id, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 529, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceOrientation))))) __PYX_ERR(0, 524, __pyx_L1_error) - __pyx_v_orient = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *)__pyx_t_3); + if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_mstate_global->__pyx_ptype_13blokus_cython_PieceOrientation))))) __PYX_ERR(0, 529, __pyx_L1_error) + __pyx_v_orient = ((struct __pyx_obj_13blokus_cython_PieceOrientation *)__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":525 + /* "blokus_cython.pyx":530 * """Get the absolute board coordinates for a move.""" * cdef PieceOrientation orient = self.piece_set.get_orientations(move.piece_id)[move.orientation_id] * cdef list result = [] # <<<<<<<<<<<<<< * cdef int dx, dy * for dx, dy in orient.squares: */ - __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 525, __pyx_L1_error) + __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 530, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_result = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":527 + /* "blokus_cython.pyx":532 * cdef list result = [] * cdef int dx, dy * for dx, dy in orient.squares: # <<<<<<<<<<<<<< @@ -33037,7 +33136,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_pl */ if (unlikely(__pyx_v_orient->squares == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 527, __pyx_L1_error) + __PYX_ERR(0, 532, __pyx_L1_error) } __pyx_t_3 = __pyx_v_orient->squares; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0; @@ -33045,13 +33144,13 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_pl { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 527, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 532, __pyx_L1_error) #endif if (__pyx_t_5 >= __pyx_temp) break; } __pyx_t_1 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_3, __pyx_t_5, __Pyx_ReferenceSharing_OwnStrongReference); ++__pyx_t_5; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 527, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { PyObject* sequence = __pyx_t_1; @@ -33059,7 +33158,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_pl if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 527, __pyx_L1_error) + __PYX_ERR(0, 532, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { @@ -33069,22 +33168,22 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_pl __Pyx_INCREF(__pyx_t_6); } else { __pyx_t_2 = __Pyx_PyList_GET_ITEM_REF(sequence, 0, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 527, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyList_GET_ITEM_REF(sequence, 1, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 527, __pyx_L1_error) + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_6); } #else - __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 527, __pyx_L1_error) + __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 527, __pyx_L1_error) + __pyx_t_6 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else { Py_ssize_t index = -1; - __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 527, __pyx_L1_error) + __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); @@ -33092,7 +33191,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_pl __Pyx_GOTREF(__pyx_t_2); index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_6); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < (0)) __PYX_ERR(0, 527, __pyx_L1_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < (0)) __PYX_ERR(0, 532, __pyx_L1_error) __pyx_t_8 = NULL; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L6_unpacking_done; @@ -33100,39 +33199,39 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_pl __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_8 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 527, __pyx_L1_error) + __PYX_ERR(0, 532, __pyx_L1_error) __pyx_L6_unpacking_done:; } - __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_t_2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 527, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_t_2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_10 = __Pyx_PyLong_As_int(__pyx_t_6); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 527, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyLong_As_int(__pyx_t_6); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_dx = __pyx_t_9; __pyx_v_dy = __pyx_t_10; - /* "blokus_gym/core/blokus_cython.pyx":528 + /* "blokus_cython.pyx":533 * cdef int dx, dy * for dx, dy in orient.squares: * result.append((move.x + dx, move.y + dy)) # <<<<<<<<<<<<<< * return result * */ - __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_move->x + __pyx_v_dx)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 528, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_move->x + __pyx_v_dx)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 533, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = __Pyx_PyLong_From_int((__pyx_v_move->y + __pyx_v_dy)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 528, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyLong_From_int((__pyx_v_move->y + __pyx_v_dy)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 533, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 528, __pyx_L1_error) + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 533, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 528, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 533, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_6); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_6) != (0)) __PYX_ERR(0, 528, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_6) != (0)) __PYX_ERR(0, 533, __pyx_L1_error); __pyx_t_1 = 0; __pyx_t_6 = 0; - __pyx_t_11 = __Pyx_PyList_Append(__pyx_v_result, __pyx_t_2); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 528, __pyx_L1_error) + __pyx_t_11 = __Pyx_PyList_Append(__pyx_v_result, __pyx_t_2); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 533, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "blokus_gym/core/blokus_cython.pyx":527 + /* "blokus_cython.pyx":532 * cdef list result = [] * cdef int dx, dy * for dx, dy in orient.squares: # <<<<<<<<<<<<<< @@ -33142,19 +33241,19 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_pl } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":529 + /* "blokus_cython.pyx":534 * for dx, dy in orient.squares: * result.append((move.x + dx, move.y + dy)) * return result # <<<<<<<<<<<<<< * - * cdef list _get_placed_corners(self, Move move): + * cpdef list get_placed_squares(self, Move move): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_result); __pyx_r = __pyx_v_result; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":522 + /* "blokus_cython.pyx":527 * self.players.append(player) * * cdef list _get_placed_squares(self, Move move): # <<<<<<<<<<<<<< @@ -33169,7 +33268,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_pl __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame._get_placed_squares", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame._get_placed_squares", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_orient); @@ -33179,16 +33278,263 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_pl return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":531 +/* "blokus_cython.pyx":536 * return result * + * cpdef list get_placed_squares(self, Move move): # <<<<<<<<<<<<<< + * """Python-accessible wrapper for _get_placed_squares.""" + * return self._get_placed_squares(move) +*/ + +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_9get_placed_squares(PyObject *__pyx_v_self, +#if CYTHON_METH_FASTCALL +PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds +#else +PyObject *__pyx_args, PyObject *__pyx_kwds +#endif +); /*proto*/ +static PyObject *__pyx_f_13blokus_cython_10BlokusGame_get_placed_squares(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, struct __pyx_obj_13blokus_cython_Move *__pyx_v_move, int __pyx_skip_dispatch) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + size_t __pyx_t_5; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("get_placed_squares", 0); + /* Check if called by wrapper */ + if (unlikely(__pyx_skip_dispatch)) ; + /* Check if overridden in Python */ + else if ( + #if !CYTHON_USE_TYPE_SLOTS + unlikely(Py_TYPE(((PyObject *)__pyx_v_self)) != __pyx_mstate_global->__pyx_ptype_13blokus_cython_BlokusGame && + __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), Py_TPFLAGS_HAVE_GC)) + #else + unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0 || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE))) + #endif + ) { + #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS + static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT; + if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) { + PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self)); + #endif + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_get_placed_squares); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 536, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!__Pyx_IsSameCFunction(__pyx_t_1, (void(*)(void)) __pyx_pw_13blokus_cython_10BlokusGame_9get_placed_squares)) { + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = NULL; + __Pyx_INCREF(__pyx_t_1); + __pyx_t_4 = __pyx_t_1; + __pyx_t_5 = 1; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); + assert(__pyx_t_3); + PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(__pyx__function); + __Pyx_DECREF_SET(__pyx_t_4, __pyx__function); + __pyx_t_5 = 0; + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_move)}; + __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 536, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + } + if (!(likely(PyList_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_t_2))) __PYX_ERR(0, 536, __pyx_L1_error) + __pyx_r = ((PyObject*)__pyx_t_2); + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L0; + } + #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS + __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self)); + __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self)); + if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) { + __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT; + } + #endif + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS + } + #endif + } + + /* "blokus_cython.pyx":538 + * cpdef list get_placed_squares(self, Move move): + * """Python-accessible wrapper for _get_placed_squares.""" + * return self._get_placed_squares(move) # <<<<<<<<<<<<<< + * + * cdef list _get_placed_corners(self, Move move): +*/ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = ((struct __pyx_vtabstruct_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->_get_placed_squares(__pyx_v_self, __pyx_v_move); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 538, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "blokus_cython.pyx":536 + * return result + * + * cpdef list get_placed_squares(self, Move move): # <<<<<<<<<<<<<< + * """Python-accessible wrapper for _get_placed_squares.""" + * return self._get_placed_squares(move) +*/ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("blokus_cython.BlokusGame.get_placed_squares", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_9get_placed_squares(PyObject *__pyx_v_self, +#if CYTHON_METH_FASTCALL +PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds +#else +PyObject *__pyx_args, PyObject *__pyx_kwds +#endif +); /*proto*/ +PyDoc_STRVAR(__pyx_doc_13blokus_cython_10BlokusGame_8get_placed_squares, "Python-accessible wrapper for _get_placed_squares."); +static PyMethodDef __pyx_mdef_13blokus_cython_10BlokusGame_9get_placed_squares = {"get_placed_squares", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_9get_placed_squares, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_10BlokusGame_8get_placed_squares}; +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_9get_placed_squares(PyObject *__pyx_v_self, +#if CYTHON_METH_FASTCALL +PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds +#else +PyObject *__pyx_args, PyObject *__pyx_kwds +#endif +) { + struct __pyx_obj_13blokus_cython_Move *__pyx_v_move = 0; + #if !CYTHON_METH_FASTCALL + CYTHON_UNUSED Py_ssize_t __pyx_nargs; + #endif + CYTHON_UNUSED PyObject *const *__pyx_kwvalues; + PyObject* values[1] = {0}; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("get_placed_squares (wrapper)", 0); + #if !CYTHON_METH_FASTCALL + #if CYTHON_ASSUME_SAFE_SIZE + __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); + #else + __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; + #endif + #endif + __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); + { + PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_move,0}; + const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; + if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(0, 536, __pyx_L3_error) + if (__pyx_kwds_len > 0) { + switch (__pyx_nargs) { + case 1: + values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 536, __pyx_L3_error) + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + const Py_ssize_t kwd_pos_args = __pyx_nargs; + if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_placed_squares", 0) < (0)) __PYX_ERR(0, 536, __pyx_L3_error) + for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { + if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_placed_squares", 1, 1, 1, i); __PYX_ERR(0, 536, __pyx_L3_error) } + } + } else if (unlikely(__pyx_nargs != 1)) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 536, __pyx_L3_error) + } + __pyx_v_move = ((struct __pyx_obj_13blokus_cython_Move *)values[0]); + } + goto __pyx_L6_skip; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("get_placed_squares", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 536, __pyx_L3_error) + __pyx_L6_skip:; + goto __pyx_L4_argument_unpacking_done; + __pyx_L3_error:; + for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { + Py_XDECREF(values[__pyx_temp]); + } + __Pyx_AddTraceback("blokus_cython.BlokusGame.get_placed_squares", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_move), __pyx_mstate_global->__pyx_ptype_13blokus_cython_Move, 1, "move", 0))) __PYX_ERR(0, 536, __pyx_L1_error) + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_8get_placed_squares(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self), __pyx_v_move); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { + Py_XDECREF(values[__pyx_temp]); + } + goto __pyx_L7_cleaned_up; + __pyx_L0:; + for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { + Py_XDECREF(values[__pyx_temp]); + } + __pyx_L7_cleaned_up:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_8get_placed_squares(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, struct __pyx_obj_13blokus_cython_Move *__pyx_v_move) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("get_placed_squares", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __pyx_f_13blokus_cython_10BlokusGame_get_placed_squares(__pyx_v_self, __pyx_v_move, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 536, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("blokus_cython.BlokusGame.get_placed_squares", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "blokus_cython.pyx":540 + * return self._get_placed_squares(move) + * * cdef list _get_placed_corners(self, Move move): # <<<<<<<<<<<<<< * """Get the absolute corner coordinates for a move.""" * cdef PieceOrientation orient = self.piece_set.get_orientations(move.piece_id)[move.orientation_id] */ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_placed_corners(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_move) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v_orient = 0; +static PyObject *__pyx_f_13blokus_cython_10BlokusGame__get_placed_corners(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, struct __pyx_obj_13blokus_cython_Move *__pyx_v_move) { + struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v_orient = 0; PyObject *__pyx_v_result = 0; int __pyx_v_dx; int __pyx_v_dy; @@ -33210,7 +33556,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_pl int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_get_placed_corners", 0); - /* "blokus_gym/core/blokus_cython.pyx":533 + /* "blokus_cython.pyx":542 * cdef list _get_placed_corners(self, Move move): * """Get the absolute corner coordinates for a move.""" * cdef PieceOrientation orient = self.piece_set.get_orientations(move.piece_id)[move.orientation_id] # <<<<<<<<<<<<<< @@ -33219,7 +33565,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_pl */ __pyx_t_2 = ((PyObject *)__pyx_v_self->piece_set); __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_move->piece_id); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 533, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_move->piece_id); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = 0; { @@ -33227,29 +33573,29 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_pl __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_orientations, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 533, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } - __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_1, __pyx_v_move->orientation_id, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 533, __pyx_L1_error) + __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_1, __pyx_v_move->orientation_id, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceOrientation))))) __PYX_ERR(0, 533, __pyx_L1_error) - __pyx_v_orient = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *)__pyx_t_3); + if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_mstate_global->__pyx_ptype_13blokus_cython_PieceOrientation))))) __PYX_ERR(0, 542, __pyx_L1_error) + __pyx_v_orient = ((struct __pyx_obj_13blokus_cython_PieceOrientation *)__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":534 + /* "blokus_cython.pyx":543 * """Get the absolute corner coordinates for a move.""" * cdef PieceOrientation orient = self.piece_set.get_orientations(move.piece_id)[move.orientation_id] * cdef list result = [] # <<<<<<<<<<<<<< * cdef int dx, dy * for dx, dy in orient.corners: */ - __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 534, __pyx_L1_error) + __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 543, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_result = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":536 + /* "blokus_cython.pyx":545 * cdef list result = [] * cdef int dx, dy * for dx, dy in orient.corners: # <<<<<<<<<<<<<< @@ -33258,7 +33604,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_pl */ if (unlikely(__pyx_v_orient->corners == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 536, __pyx_L1_error) + __PYX_ERR(0, 545, __pyx_L1_error) } __pyx_t_3 = __pyx_v_orient->corners; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0; @@ -33266,13 +33612,13 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_pl { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 536, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 545, __pyx_L1_error) #endif if (__pyx_t_5 >= __pyx_temp) break; } __pyx_t_1 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_3, __pyx_t_5, __Pyx_ReferenceSharing_OwnStrongReference); ++__pyx_t_5; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 536, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { PyObject* sequence = __pyx_t_1; @@ -33280,7 +33626,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_pl if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 536, __pyx_L1_error) + __PYX_ERR(0, 545, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { @@ -33290,22 +33636,22 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_pl __Pyx_INCREF(__pyx_t_6); } else { __pyx_t_2 = __Pyx_PyList_GET_ITEM_REF(sequence, 0, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 536, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyList_GET_ITEM_REF(sequence, 1, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 536, __pyx_L1_error) + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_6); } #else - __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 536, __pyx_L1_error) + __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 536, __pyx_L1_error) + __pyx_t_6 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else { Py_ssize_t index = -1; - __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 536, __pyx_L1_error) + __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); @@ -33313,7 +33659,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_pl __Pyx_GOTREF(__pyx_t_2); index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_6); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < (0)) __PYX_ERR(0, 536, __pyx_L1_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < (0)) __PYX_ERR(0, 545, __pyx_L1_error) __pyx_t_8 = NULL; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L6_unpacking_done; @@ -33321,39 +33667,39 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_pl __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_8 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 536, __pyx_L1_error) + __PYX_ERR(0, 545, __pyx_L1_error) __pyx_L6_unpacking_done:; } - __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_t_2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 536, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_t_2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_10 = __Pyx_PyLong_As_int(__pyx_t_6); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 536, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyLong_As_int(__pyx_t_6); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_dx = __pyx_t_9; __pyx_v_dy = __pyx_t_10; - /* "blokus_gym/core/blokus_cython.pyx":537 + /* "blokus_cython.pyx":546 * cdef int dx, dy * for dx, dy in orient.corners: * result.append((move.x + dx, move.y + dy)) # <<<<<<<<<<<<<< * return result * */ - __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_move->x + __pyx_v_dx)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 537, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_move->x + __pyx_v_dx)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 546, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = __Pyx_PyLong_From_int((__pyx_v_move->y + __pyx_v_dy)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 537, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyLong_From_int((__pyx_v_move->y + __pyx_v_dy)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 546, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 537, __pyx_L1_error) + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 546, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 537, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 546, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_6); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_6) != (0)) __PYX_ERR(0, 537, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_6) != (0)) __PYX_ERR(0, 546, __pyx_L1_error); __pyx_t_1 = 0; __pyx_t_6 = 0; - __pyx_t_11 = __Pyx_PyList_Append(__pyx_v_result, __pyx_t_2); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 537, __pyx_L1_error) + __pyx_t_11 = __Pyx_PyList_Append(__pyx_v_result, __pyx_t_2); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 546, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "blokus_gym/core/blokus_cython.pyx":536 + /* "blokus_cython.pyx":545 * cdef list result = [] * cdef int dx, dy * for dx, dy in orient.corners: # <<<<<<<<<<<<<< @@ -33363,20 +33709,20 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_pl } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":538 + /* "blokus_cython.pyx":547 * for dx, dy in orient.corners: * result.append((move.x + dx, move.y + dy)) * return result # <<<<<<<<<<<<<< * - * cpdef bint valid_move(self, int player_idx, Move move): + * cpdef list get_placed_corners(self, Move move): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_result); __pyx_r = __pyx_v_result; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":531 - * return result + /* "blokus_cython.pyx":540 + * return self._get_placed_squares(move) * * cdef list _get_placed_corners(self, Move move): # <<<<<<<<<<<<<< * """Get the absolute corner coordinates for a move.""" @@ -33390,7 +33736,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_pl __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame._get_placed_corners", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame._get_placed_corners", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_orient); @@ -33400,24 +33746,271 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_pl return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":540 +/* "blokus_cython.pyx":549 * return result * - * cpdef bint valid_move(self, int player_idx, Move move): # <<<<<<<<<<<<<< - * """Check if a move is valid for the given player.""" - * cdef PlayerState player = self.players[player_idx] + * cpdef list get_placed_corners(self, Move move): # <<<<<<<<<<<<<< + * """Python-accessible wrapper for _get_placed_corners.""" + * return self._get_placed_corners(move) */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_9valid_move(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_11get_placed_corners(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx, struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_move, int __pyx_skip_dispatch) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_player = 0; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_piece = 0; +static PyObject *__pyx_f_13blokus_cython_10BlokusGame_get_placed_corners(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, struct __pyx_obj_13blokus_cython_Move *__pyx_v_move, int __pyx_skip_dispatch) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + size_t __pyx_t_5; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("get_placed_corners", 0); + /* Check if called by wrapper */ + if (unlikely(__pyx_skip_dispatch)) ; + /* Check if overridden in Python */ + else if ( + #if !CYTHON_USE_TYPE_SLOTS + unlikely(Py_TYPE(((PyObject *)__pyx_v_self)) != __pyx_mstate_global->__pyx_ptype_13blokus_cython_BlokusGame && + __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), Py_TPFLAGS_HAVE_GC)) + #else + unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0 || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE))) + #endif + ) { + #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS + static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT; + if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) { + PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self)); + #endif + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_get_placed_corners); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 549, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!__Pyx_IsSameCFunction(__pyx_t_1, (void(*)(void)) __pyx_pw_13blokus_cython_10BlokusGame_11get_placed_corners)) { + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = NULL; + __Pyx_INCREF(__pyx_t_1); + __pyx_t_4 = __pyx_t_1; + __pyx_t_5 = 1; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); + assert(__pyx_t_3); + PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(__pyx__function); + __Pyx_DECREF_SET(__pyx_t_4, __pyx__function); + __pyx_t_5 = 0; + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_move)}; + __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 549, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + } + if (!(likely(PyList_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_t_2))) __PYX_ERR(0, 549, __pyx_L1_error) + __pyx_r = ((PyObject*)__pyx_t_2); + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L0; + } + #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS + __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self)); + __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self)); + if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) { + __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT; + } + #endif + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS + } + #endif + } + + /* "blokus_cython.pyx":551 + * cpdef list get_placed_corners(self, Move move): + * """Python-accessible wrapper for _get_placed_corners.""" + * return self._get_placed_corners(move) # <<<<<<<<<<<<<< + * + * cpdef bint valid_move(self, int player_idx, Move move): +*/ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = ((struct __pyx_vtabstruct_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->_get_placed_corners(__pyx_v_self, __pyx_v_move); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 551, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "blokus_cython.pyx":549 + * return result + * + * cpdef list get_placed_corners(self, Move move): # <<<<<<<<<<<<<< + * """Python-accessible wrapper for _get_placed_corners.""" + * return self._get_placed_corners(move) +*/ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("blokus_cython.BlokusGame.get_placed_corners", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_11get_placed_corners(PyObject *__pyx_v_self, +#if CYTHON_METH_FASTCALL +PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds +#else +PyObject *__pyx_args, PyObject *__pyx_kwds +#endif +); /*proto*/ +PyDoc_STRVAR(__pyx_doc_13blokus_cython_10BlokusGame_10get_placed_corners, "Python-accessible wrapper for _get_placed_corners."); +static PyMethodDef __pyx_mdef_13blokus_cython_10BlokusGame_11get_placed_corners = {"get_placed_corners", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_11get_placed_corners, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_10BlokusGame_10get_placed_corners}; +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_11get_placed_corners(PyObject *__pyx_v_self, +#if CYTHON_METH_FASTCALL +PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds +#else +PyObject *__pyx_args, PyObject *__pyx_kwds +#endif +) { + struct __pyx_obj_13blokus_cython_Move *__pyx_v_move = 0; + #if !CYTHON_METH_FASTCALL + CYTHON_UNUSED Py_ssize_t __pyx_nargs; + #endif + CYTHON_UNUSED PyObject *const *__pyx_kwvalues; + PyObject* values[1] = {0}; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("get_placed_corners (wrapper)", 0); + #if !CYTHON_METH_FASTCALL + #if CYTHON_ASSUME_SAFE_SIZE + __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); + #else + __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; + #endif + #endif + __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); + { + PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_move,0}; + const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; + if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(0, 549, __pyx_L3_error) + if (__pyx_kwds_len > 0) { + switch (__pyx_nargs) { + case 1: + values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 549, __pyx_L3_error) + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + const Py_ssize_t kwd_pos_args = __pyx_nargs; + if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_placed_corners", 0) < (0)) __PYX_ERR(0, 549, __pyx_L3_error) + for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { + if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_placed_corners", 1, 1, 1, i); __PYX_ERR(0, 549, __pyx_L3_error) } + } + } else if (unlikely(__pyx_nargs != 1)) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 549, __pyx_L3_error) + } + __pyx_v_move = ((struct __pyx_obj_13blokus_cython_Move *)values[0]); + } + goto __pyx_L6_skip; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("get_placed_corners", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 549, __pyx_L3_error) + __pyx_L6_skip:; + goto __pyx_L4_argument_unpacking_done; + __pyx_L3_error:; + for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { + Py_XDECREF(values[__pyx_temp]); + } + __Pyx_AddTraceback("blokus_cython.BlokusGame.get_placed_corners", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_move), __pyx_mstate_global->__pyx_ptype_13blokus_cython_Move, 1, "move", 0))) __PYX_ERR(0, 549, __pyx_L1_error) + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_10get_placed_corners(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self), __pyx_v_move); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { + Py_XDECREF(values[__pyx_temp]); + } + goto __pyx_L7_cleaned_up; + __pyx_L0:; + for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { + Py_XDECREF(values[__pyx_temp]); + } + __pyx_L7_cleaned_up:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_10get_placed_corners(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, struct __pyx_obj_13blokus_cython_Move *__pyx_v_move) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("get_placed_corners", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __pyx_f_13blokus_cython_10BlokusGame_get_placed_corners(__pyx_v_self, __pyx_v_move, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 549, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("blokus_cython.BlokusGame.get_placed_corners", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "blokus_cython.pyx":553 + * return self._get_placed_corners(move) + * + * cpdef bint valid_move(self, int player_idx, Move move): # <<<<<<<<<<<<<< + * """Check if a move is valid for the given player.""" + * cdef PlayerState player = self.players[player_idx] +*/ + +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_13valid_move(PyObject *__pyx_v_self, +#if CYTHON_METH_FASTCALL +PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds +#else +PyObject *__pyx_args, PyObject *__pyx_kwds +#endif +); /*proto*/ +static int __pyx_f_13blokus_cython_10BlokusGame_valid_move(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx, struct __pyx_obj_13blokus_cython_Move *__pyx_v_move, int __pyx_skip_dispatch) { + struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_player = 0; + struct __pyx_obj_13blokus_cython_Piece *__pyx_v_piece = 0; PyObject *__pyx_v_placed_squares = 0; PyObject *__pyx_v_placed_corners = 0; int __pyx_v_x; @@ -33456,7 +34049,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st /* Check if overridden in Python */ else if ( #if !CYTHON_USE_TYPE_SLOTS - unlikely(Py_TYPE(((PyObject *)__pyx_v_self)) != __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame && + unlikely(Py_TYPE(((PyObject *)__pyx_v_self)) != __pyx_mstate_global->__pyx_ptype_13blokus_cython_BlokusGame && __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), Py_TPFLAGS_HAVE_GC)) #else unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0 || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE))) @@ -33467,13 +34060,13 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) { PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self)); #endif - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_valid_move); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 540, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_valid_move); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 553, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (!__Pyx_IsSameCFunction(__pyx_t_1, (void(*)(void)) __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_9valid_move)) { + if (!__Pyx_IsSameCFunction(__pyx_t_1, (void(*)(void)) __pyx_pw_13blokus_cython_10BlokusGame_13valid_move)) { __pyx_t_3 = NULL; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = __pyx_t_1; - __pyx_t_5 = __Pyx_PyLong_From_int(__pyx_v_player_idx); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 540, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyLong_From_int(__pyx_v_player_idx); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 553, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = 1; #if CYTHON_UNPACK_METHODS @@ -33493,10 +34086,10 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 540, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 553, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); } - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 540, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 553, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_r = __pyx_t_7; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -33515,7 +34108,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st #endif } - /* "blokus_gym/core/blokus_cython.pyx":542 + /* "blokus_cython.pyx":555 * cpdef bint valid_move(self, int player_idx, Move move): * """Check if a move is valid for the given player.""" * cdef PlayerState player = self.players[player_idx] # <<<<<<<<<<<<<< @@ -33524,15 +34117,15 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st */ if (unlikely(__pyx_v_self->players == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 542, __pyx_L1_error) + __PYX_ERR(0, 555, __pyx_L1_error) } - __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_self->players, __pyx_v_player_idx, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 542, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_self->players, __pyx_v_player_idx, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 555, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PlayerState))))) __PYX_ERR(0, 542, __pyx_L1_error) - __pyx_v_player = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_13blokus_cython_PlayerState))))) __PYX_ERR(0, 555, __pyx_L1_error) + __pyx_v_player = ((struct __pyx_obj_13blokus_cython_PlayerState *)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":543 + /* "blokus_cython.pyx":556 * """Check if a move is valid for the given player.""" * cdef PlayerState player = self.players[player_idx] * cdef Piece piece = self.piece_set.get_piece(move.piece_id) # <<<<<<<<<<<<<< @@ -33541,7 +34134,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st */ __pyx_t_2 = ((PyObject *)__pyx_v_self->piece_set); __Pyx_INCREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_move->piece_id); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 543, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_move->piece_id); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 556, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = 0; { @@ -33549,38 +34142,38 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_piece, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 543, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 556, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece))))) __PYX_ERR(0, 543, __pyx_L1_error) - __pyx_v_piece = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece))))) __PYX_ERR(0, 556, __pyx_L1_error) + __pyx_v_piece = ((struct __pyx_obj_13blokus_cython_Piece *)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":544 + /* "blokus_cython.pyx":557 * cdef PlayerState player = self.players[player_idx] * cdef Piece piece = self.piece_set.get_piece(move.piece_id) * cdef list placed_squares = self._get_placed_squares(move) # <<<<<<<<<<<<<< * cdef list placed_corners = self._get_placed_corners(move) * cdef int x, y */ - __pyx_t_1 = ((struct __pyx_vtabstruct_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->_get_placed_squares(__pyx_v_self, __pyx_v_move); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 544, __pyx_L1_error) + __pyx_t_1 = ((struct __pyx_vtabstruct_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->_get_placed_squares(__pyx_v_self, __pyx_v_move); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 557, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_placed_squares = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":545 + /* "blokus_cython.pyx":558 * cdef Piece piece = self.piece_set.get_piece(move.piece_id) * cdef list placed_squares = self._get_placed_squares(move) * cdef list placed_corners = self._get_placed_corners(move) # <<<<<<<<<<<<<< * cdef int x, y * cdef int player_board_idx = player_idx + 1 */ - __pyx_t_1 = ((struct __pyx_vtabstruct_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->_get_placed_corners(__pyx_v_self, __pyx_v_move); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 545, __pyx_L1_error) + __pyx_t_1 = ((struct __pyx_vtabstruct_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->_get_placed_corners(__pyx_v_self, __pyx_v_move); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_placed_corners = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":547 + /* "blokus_cython.pyx":560 * cdef list placed_corners = self._get_placed_corners(move) * cdef int x, y * cdef int player_board_idx = player_idx + 1 # <<<<<<<<<<<<<< @@ -33589,7 +34182,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st */ __pyx_v_player_board_idx = (__pyx_v_player_idx + 1); - /* "blokus_gym/core/blokus_cython.pyx":552 + /* "blokus_cython.pyx":565 * * # Rule 1: Check if player has the piece * if piece.name not in player.available_pieces: # <<<<<<<<<<<<<< @@ -33598,12 +34191,12 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st */ if (unlikely(__pyx_v_player->available_pieces == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 552, __pyx_L1_error) + __PYX_ERR(0, 565, __pyx_L1_error) } - __pyx_t_7 = (__Pyx_PySet_ContainsTF(__pyx_v_piece->name, __pyx_v_player->available_pieces, Py_NE)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 552, __pyx_L1_error) + __pyx_t_7 = (__Pyx_PySet_ContainsTF(__pyx_v_piece->name, __pyx_v_player->available_pieces, Py_NE)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 565, __pyx_L1_error) if (__pyx_t_7) { - /* "blokus_gym/core/blokus_cython.pyx":553 + /* "blokus_cython.pyx":566 * # Rule 1: Check if player has the piece * if piece.name not in player.available_pieces: * return False # <<<<<<<<<<<<<< @@ -33613,7 +34206,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __pyx_r = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":552 + /* "blokus_cython.pyx":565 * * # Rule 1: Check if player has the piece * if piece.name not in player.available_pieces: # <<<<<<<<<<<<<< @@ -33622,7 +34215,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st */ } - /* "blokus_gym/core/blokus_cython.pyx":556 + /* "blokus_cython.pyx":569 * * # Rule 2: Check bounds (inline for speed) * for x, y in placed_squares: # <<<<<<<<<<<<<< @@ -33631,7 +34224,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st */ if (unlikely(__pyx_v_placed_squares == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 556, __pyx_L1_error) + __PYX_ERR(0, 569, __pyx_L1_error) } __pyx_t_1 = __pyx_v_placed_squares; __Pyx_INCREF(__pyx_t_1); __pyx_t_8 = 0; @@ -33639,13 +34232,13 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 556, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 569, __pyx_L1_error) #endif if (__pyx_t_8 >= __pyx_temp) break; } __pyx_t_4 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_1, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference); ++__pyx_t_8; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 556, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 569, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) { PyObject* sequence = __pyx_t_4; @@ -33653,7 +34246,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 556, __pyx_L1_error) + __PYX_ERR(0, 569, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { @@ -33663,22 +34256,22 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __Pyx_INCREF(__pyx_t_5); } else { __pyx_t_2 = __Pyx_PyList_GET_ITEM_REF(sequence, 0, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 556, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 569, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyList_GET_ITEM_REF(sequence, 1, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 556, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 569, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_5); } #else - __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 556, __pyx_L1_error) + __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 569, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 556, __pyx_L1_error) + __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 569, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else { Py_ssize_t index = -1; - __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 556, __pyx_L1_error) + __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 569, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); @@ -33686,7 +34279,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __Pyx_GOTREF(__pyx_t_2); index = 1; __pyx_t_5 = __pyx_t_9(__pyx_t_3); if (unlikely(!__pyx_t_5)) goto __pyx_L6_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_3), 2) < (0)) __PYX_ERR(0, 556, __pyx_L1_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_3), 2) < (0)) __PYX_ERR(0, 569, __pyx_L1_error) __pyx_t_9 = NULL; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L7_unpacking_done; @@ -33694,17 +34287,17 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_9 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 556, __pyx_L1_error) + __PYX_ERR(0, 569, __pyx_L1_error) __pyx_L7_unpacking_done:; } - __pyx_t_10 = __Pyx_PyLong_As_int(__pyx_t_2); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 556, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyLong_As_int(__pyx_t_2); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 569, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_11 = __Pyx_PyLong_As_int(__pyx_t_5); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 556, __pyx_L1_error) + __pyx_t_11 = __Pyx_PyLong_As_int(__pyx_t_5); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 569, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_x = __pyx_t_10; __pyx_v_y = __pyx_t_11; - /* "blokus_gym/core/blokus_cython.pyx":557 + /* "blokus_cython.pyx":570 * # Rule 2: Check bounds (inline for speed) * for x, y in placed_squares: * if not self.board.in_bounds(x, y): # <<<<<<<<<<<<<< @@ -33713,9 +34306,9 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st */ __pyx_t_5 = __pyx_v_self->board; __Pyx_INCREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 557, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 570, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_y); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 557, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_y); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 570, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = 0; { @@ -33724,15 +34317,15 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 557, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 570, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); } - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 557, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 570, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_12 = (!__pyx_t_7); if (__pyx_t_12) { - /* "blokus_gym/core/blokus_cython.pyx":558 + /* "blokus_cython.pyx":571 * for x, y in placed_squares: * if not self.board.in_bounds(x, y): * return False # <<<<<<<<<<<<<< @@ -33743,7 +34336,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":557 + /* "blokus_cython.pyx":570 * # Rule 2: Check bounds (inline for speed) * for x, y in placed_squares: * if not self.board.in_bounds(x, y): # <<<<<<<<<<<<<< @@ -33752,7 +34345,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st */ } - /* "blokus_gym/core/blokus_cython.pyx":556 + /* "blokus_cython.pyx":569 * * # Rule 2: Check bounds (inline for speed) * for x, y in placed_squares: # <<<<<<<<<<<<<< @@ -33762,7 +34355,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":561 + /* "blokus_cython.pyx":574 * * # Rule 3: Check overlap * if self.board.has_overlap(placed_squares): # <<<<<<<<<<<<<< @@ -33776,14 +34369,14 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_placed_squares}; __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_has_overlap, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 561, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 574, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 561, __pyx_L1_error) + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 574, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_12) { - /* "blokus_gym/core/blokus_cython.pyx":562 + /* "blokus_cython.pyx":575 * # Rule 3: Check overlap * if self.board.has_overlap(placed_squares): * return False # <<<<<<<<<<<<<< @@ -33793,7 +34386,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __pyx_r = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":561 + /* "blokus_cython.pyx":574 * * # Rule 3: Check overlap * if self.board.has_overlap(placed_squares): # <<<<<<<<<<<<<< @@ -33802,7 +34395,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st */ } - /* "blokus_gym/core/blokus_cython.pyx":565 + /* "blokus_cython.pyx":578 * * # Rule 6: First move must be in a corner * if self.corner_rule and not player.has_started: # <<<<<<<<<<<<<< @@ -33819,7 +34412,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __pyx_L12_bool_binop_done:; if (__pyx_t_12) { - /* "blokus_gym/core/blokus_cython.pyx":566 + /* "blokus_cython.pyx":579 * # Rule 6: First move must be in a corner * if self.corner_rule and not player.has_started: * if len(self.players) <= len(self._starting_corners): # <<<<<<<<<<<<<< @@ -33830,22 +34423,22 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __Pyx_INCREF(__pyx_t_1); if (unlikely(__pyx_t_1 == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); - __PYX_ERR(0, 566, __pyx_L1_error) + __PYX_ERR(0, 579, __pyx_L1_error) } - __pyx_t_8 = __Pyx_PyList_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 566, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyList_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 579, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __pyx_v_self->_starting_corners; __Pyx_INCREF(__pyx_t_1); if (unlikely(__pyx_t_1 == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); - __PYX_ERR(0, 566, __pyx_L1_error) + __PYX_ERR(0, 579, __pyx_L1_error) } - __pyx_t_13 = __Pyx_PyList_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_13 == ((Py_ssize_t)-1))) __PYX_ERR(0, 566, __pyx_L1_error) + __pyx_t_13 = __Pyx_PyList_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_13 == ((Py_ssize_t)-1))) __PYX_ERR(0, 579, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_12 = (__pyx_t_8 <= __pyx_t_13); if (__pyx_t_12) { - /* "blokus_gym/core/blokus_cython.pyx":567 + /* "blokus_cython.pyx":580 * if self.corner_rule and not player.has_started: * if len(self.players) <= len(self._starting_corners): * start_corner = self._starting_corners[player_idx] # <<<<<<<<<<<<<< @@ -33854,39 +34447,39 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st */ if (unlikely(__pyx_v_self->_starting_corners == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 567, __pyx_L1_error) + __PYX_ERR(0, 580, __pyx_L1_error) } - __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_self->_starting_corners, __pyx_v_player_idx, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 567, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_self->_starting_corners, __pyx_v_player_idx, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 580, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_start_corner = __pyx_t_1; __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":568 + /* "blokus_cython.pyx":581 * if len(self.players) <= len(self._starting_corners): * start_corner = self._starting_corners[player_idx] * if (move.x, move.y) != start_corner: # <<<<<<<<<<<<<< * return False * */ - __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_move->x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 568, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_move->x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_move->y); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 568, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_move->y); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 568, __pyx_L1_error) + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 568, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 581, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4) != (0)) __PYX_ERR(0, 568, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4) != (0)) __PYX_ERR(0, 581, __pyx_L1_error); __pyx_t_1 = 0; __pyx_t_4 = 0; - __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_v_start_corner, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 568, __pyx_L1_error) + __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_v_start_corner, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 581, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 568, __pyx_L1_error) + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 581, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_12) { - /* "blokus_gym/core/blokus_cython.pyx":569 + /* "blokus_cython.pyx":582 * start_corner = self._starting_corners[player_idx] * if (move.x, move.y) != start_corner: * return False # <<<<<<<<<<<<<< @@ -33896,7 +34489,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __pyx_r = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":568 + /* "blokus_cython.pyx":581 * if len(self.players) <= len(self._starting_corners): * start_corner = self._starting_corners[player_idx] * if (move.x, move.y) != start_corner: # <<<<<<<<<<<<<< @@ -33905,7 +34498,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st */ } - /* "blokus_gym/core/blokus_cython.pyx":566 + /* "blokus_cython.pyx":579 * # Rule 6: First move must be in a corner * if self.corner_rule and not player.has_started: * if len(self.players) <= len(self._starting_corners): # <<<<<<<<<<<<<< @@ -33914,7 +34507,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st */ } - /* "blokus_gym/core/blokus_cython.pyx":565 + /* "blokus_cython.pyx":578 * * # Rule 6: First move must be in a corner * if self.corner_rule and not player.has_started: # <<<<<<<<<<<<<< @@ -33923,7 +34516,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st */ } - /* "blokus_gym/core/blokus_cython.pyx":572 + /* "blokus_cython.pyx":585 * * # Rule 5: No edge adjacency with same-color pieces (inline for speed) * for x, y in placed_squares: # <<<<<<<<<<<<<< @@ -33932,7 +34525,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st */ if (unlikely(__pyx_v_placed_squares == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 572, __pyx_L1_error) + __PYX_ERR(0, 585, __pyx_L1_error) } __pyx_t_4 = __pyx_v_placed_squares; __Pyx_INCREF(__pyx_t_4); __pyx_t_13 = 0; @@ -33940,13 +34533,13 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 572, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 585, __pyx_L1_error) #endif if (__pyx_t_13 >= __pyx_temp) break; } __pyx_t_3 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_4, __pyx_t_13, __Pyx_ReferenceSharing_OwnStrongReference); ++__pyx_t_13; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 572, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { PyObject* sequence = __pyx_t_3; @@ -33954,7 +34547,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 572, __pyx_L1_error) + __PYX_ERR(0, 585, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { @@ -33964,22 +34557,22 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __Pyx_INCREF(__pyx_t_2); } else { __pyx_t_1 = __Pyx_PyList_GET_ITEM_REF(sequence, 0, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 572, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 585, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyList_GET_ITEM_REF(sequence, 1, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 572, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 585, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_2); } #else - __pyx_t_1 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 572, __pyx_L1_error) + __pyx_t_1 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 572, __pyx_L1_error) + __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; - __pyx_t_5 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 572, __pyx_L1_error) + __pyx_t_5 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); @@ -33987,7 +34580,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __Pyx_GOTREF(__pyx_t_1); index = 1; __pyx_t_2 = __pyx_t_9(__pyx_t_5); if (unlikely(!__pyx_t_2)) goto __pyx_L18_unpacking_failed; __Pyx_GOTREF(__pyx_t_2); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_5), 2) < (0)) __PYX_ERR(0, 572, __pyx_L1_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_5), 2) < (0)) __PYX_ERR(0, 585, __pyx_L1_error) __pyx_t_9 = NULL; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L19_unpacking_done; @@ -33995,17 +34588,17 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_9 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 572, __pyx_L1_error) + __PYX_ERR(0, 585, __pyx_L1_error) __pyx_L19_unpacking_done:; } - __pyx_t_11 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 572, __pyx_L1_error) + __pyx_t_11 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 585, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_10 = __Pyx_PyLong_As_int(__pyx_t_2); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 572, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyLong_As_int(__pyx_t_2); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 585, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_x = __pyx_t_11; __pyx_v_y = __pyx_t_10; - /* "blokus_gym/core/blokus_cython.pyx":573 + /* "blokus_cython.pyx":586 * # Rule 5: No edge adjacency with same-color pieces (inline for speed) * for x, y in placed_squares: * for dx, dy in [(-1, 0), (1, 0), (0, -1), (0, 1)]: # <<<<<<<<<<<<<< @@ -34022,7 +34615,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_8); #endif ++__pyx_t_8; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 573, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 586, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(__pyx_t_2 != Py_None)) { PyObject* sequence = __pyx_t_2; @@ -34030,7 +34623,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 573, __pyx_L1_error) + __PYX_ERR(0, 586, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); @@ -34038,21 +34631,21 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); __Pyx_INCREF(__pyx_t_5); #else - __pyx_t_1 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 573, __pyx_L1_error) + __pyx_t_1 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 586, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 573, __pyx_L1_error) + __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 586, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else { - __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 573, __pyx_L1_error) + __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 586, __pyx_L1_error) } __Pyx_XDECREF_SET(__pyx_v_dx, __pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_dy, __pyx_t_5); __pyx_t_5 = 0; - /* "blokus_gym/core/blokus_cython.pyx":574 + /* "blokus_cython.pyx":587 * for x, y in placed_squares: * for dx, dy in [(-1, 0), (1, 0), (0, -1), (0, 1)]: * if self.board.in_bounds(x + dx, y + dy): # <<<<<<<<<<<<<< @@ -34061,14 +34654,14 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st */ __pyx_t_5 = __pyx_v_self->board; __Pyx_INCREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 574, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 587, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_14 = PyNumber_Add(__pyx_t_1, __pyx_v_dx); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 574, __pyx_L1_error) + __pyx_t_14 = PyNumber_Add(__pyx_t_1, __pyx_v_dx); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 587, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_y); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 574, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_y); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 587, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_15 = PyNumber_Add(__pyx_t_1, __pyx_v_dy); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 574, __pyx_L1_error) + __pyx_t_15 = PyNumber_Add(__pyx_t_1, __pyx_v_dy); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 587, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = 0; @@ -34078,14 +34671,14 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 574, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 587, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); } - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 574, __pyx_L1_error) + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 587, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_12) { - /* "blokus_gym/core/blokus_cython.pyx":575 + /* "blokus_cython.pyx":588 * for dx, dy in [(-1, 0), (1, 0), (0, -1), (0, 1)]: * if self.board.in_bounds(x + dx, y + dy): * if self.board.get_cell(x + dx, y + dy) == player_board_idx: # <<<<<<<<<<<<<< @@ -34094,14 +34687,14 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st */ __pyx_t_15 = __pyx_v_self->board; __Pyx_INCREF(__pyx_t_15); - __pyx_t_14 = __Pyx_PyLong_From_int(__pyx_v_x); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 575, __pyx_L1_error) + __pyx_t_14 = __Pyx_PyLong_From_int(__pyx_v_x); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 588, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); - __pyx_t_5 = PyNumber_Add(__pyx_t_14, __pyx_v_dx); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 575, __pyx_L1_error) + __pyx_t_5 = PyNumber_Add(__pyx_t_14, __pyx_v_dx); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 588, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyLong_From_int(__pyx_v_y); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 575, __pyx_L1_error) + __pyx_t_14 = __Pyx_PyLong_From_int(__pyx_v_y); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 588, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); - __pyx_t_1 = PyNumber_Add(__pyx_t_14, __pyx_v_dy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 575, __pyx_L1_error) + __pyx_t_1 = PyNumber_Add(__pyx_t_14, __pyx_v_dy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 588, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_6 = 0; @@ -34111,19 +34704,19 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 575, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 588, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); } - __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_player_board_idx); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 575, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_player_board_idx); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 588, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyObject_RichCompare(__pyx_t_2, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 575, __pyx_L1_error) + __pyx_t_5 = PyObject_RichCompare(__pyx_t_2, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 588, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 575, __pyx_L1_error) + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 588, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_12) { - /* "blokus_gym/core/blokus_cython.pyx":576 + /* "blokus_cython.pyx":589 * if self.board.in_bounds(x + dx, y + dy): * if self.board.get_cell(x + dx, y + dy) == player_board_idx: * return False # <<<<<<<<<<<<<< @@ -34135,7 +34728,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":575 + /* "blokus_cython.pyx":588 * for dx, dy in [(-1, 0), (1, 0), (0, -1), (0, 1)]: * if self.board.in_bounds(x + dx, y + dy): * if self.board.get_cell(x + dx, y + dy) == player_board_idx: # <<<<<<<<<<<<<< @@ -34144,7 +34737,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st */ } - /* "blokus_gym/core/blokus_cython.pyx":574 + /* "blokus_cython.pyx":587 * for x, y in placed_squares: * for dx, dy in [(-1, 0), (1, 0), (0, -1), (0, 1)]: * if self.board.in_bounds(x + dx, y + dy): # <<<<<<<<<<<<<< @@ -34153,7 +34746,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st */ } - /* "blokus_gym/core/blokus_cython.pyx":573 + /* "blokus_cython.pyx":586 * # Rule 5: No edge adjacency with same-color pieces (inline for speed) * for x, y in placed_squares: * for dx, dy in [(-1, 0), (1, 0), (0, -1), (0, 1)]: # <<<<<<<<<<<<<< @@ -34163,7 +34756,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":572 + /* "blokus_cython.pyx":585 * * # Rule 5: No edge adjacency with same-color pieces (inline for speed) * for x, y in placed_squares: # <<<<<<<<<<<<<< @@ -34173,25 +34766,25 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":579 + /* "blokus_cython.pyx":592 * * # Rule 4: Corner rule (must touch same-color at a corner) * if player.has_started: # <<<<<<<<<<<<<< - * player_occupied = self.board.get_player_occupied(player_idx) + * player_occupied = self.board.get_player_occupied(player_board_idx) * # Manual any() implementation - Cython doesn't support generator expressions */ if (__pyx_v_player->has_started) { - /* "blokus_gym/core/blokus_cython.pyx":580 + /* "blokus_cython.pyx":593 * # Rule 4: Corner rule (must touch same-color at a corner) * if player.has_started: - * player_occupied = self.board.get_player_occupied(player_idx) # <<<<<<<<<<<<<< + * player_occupied = self.board.get_player_occupied(player_board_idx) # <<<<<<<<<<<<<< * # Manual any() implementation - Cython doesn't support generator expressions * result = False */ __pyx_t_3 = __pyx_v_self->board; __Pyx_INCREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyLong_From_int(__pyx_v_player_idx); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 580, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyLong_From_int(__pyx_v_player_board_idx); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = 0; { @@ -34199,15 +34792,15 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_player_occupied, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 580, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); } - if (!(likely(PySet_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None) || __Pyx_RaiseUnexpectedTypeError("set", __pyx_t_4))) __PYX_ERR(0, 580, __pyx_L1_error) + if (!(likely(PySet_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None) || __Pyx_RaiseUnexpectedTypeError("set", __pyx_t_4))) __PYX_ERR(0, 593, __pyx_L1_error) __pyx_v_player_occupied = ((PyObject*)__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":582 - * player_occupied = self.board.get_player_occupied(player_idx) + /* "blokus_cython.pyx":595 + * player_occupied = self.board.get_player_occupied(player_board_idx) * # Manual any() implementation - Cython doesn't support generator expressions * result = False # <<<<<<<<<<<<<< * for cx, cy in placed_corners: @@ -34215,7 +34808,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st */ __pyx_v_result = 0; - /* "blokus_gym/core/blokus_cython.pyx":583 + /* "blokus_cython.pyx":596 * # Manual any() implementation - Cython doesn't support generator expressions * result = False * for cx, cy in placed_corners: # <<<<<<<<<<<<<< @@ -34224,7 +34817,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st */ if (unlikely(__pyx_v_placed_corners == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 583, __pyx_L1_error) + __PYX_ERR(0, 596, __pyx_L1_error) } __pyx_t_4 = __pyx_v_placed_corners; __Pyx_INCREF(__pyx_t_4); __pyx_t_13 = 0; @@ -34232,13 +34825,13 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 583, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 596, __pyx_L1_error) #endif if (__pyx_t_13 >= __pyx_temp) break; } __pyx_t_5 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_4, __pyx_t_13, __Pyx_ReferenceSharing_OwnStrongReference); ++__pyx_t_13; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 583, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 596, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) { PyObject* sequence = __pyx_t_5; @@ -34246,7 +34839,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 583, __pyx_L1_error) + __PYX_ERR(0, 596, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { @@ -34256,22 +34849,22 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __Pyx_INCREF(__pyx_t_1); } else { __pyx_t_3 = __Pyx_PyList_GET_ITEM_REF(sequence, 0, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 583, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 596, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyList_GET_ITEM_REF(sequence, 1, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 583, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 596, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_1); } #else - __pyx_t_3 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 583, __pyx_L1_error) + __pyx_t_3 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 596, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 583, __pyx_L1_error) + __pyx_t_1 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 596, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { Py_ssize_t index = -1; - __pyx_t_2 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 583, __pyx_L1_error) + __pyx_t_2 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 596, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); @@ -34279,7 +34872,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __Pyx_GOTREF(__pyx_t_3); index = 1; __pyx_t_1 = __pyx_t_9(__pyx_t_2); if (unlikely(!__pyx_t_1)) goto __pyx_L29_unpacking_failed; __Pyx_GOTREF(__pyx_t_1); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_2), 2) < (0)) __PYX_ERR(0, 583, __pyx_L1_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_2), 2) < (0)) __PYX_ERR(0, 596, __pyx_L1_error) __pyx_t_9 = NULL; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L30_unpacking_done; @@ -34287,7 +34880,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_9 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 583, __pyx_L1_error) + __PYX_ERR(0, 596, __pyx_L1_error) __pyx_L30_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_cx, __pyx_t_3); @@ -34295,7 +34888,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __Pyx_XDECREF_SET(__pyx_v_cy, __pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":584 + /* "blokus_cython.pyx":597 * result = False * for cx, cy in placed_corners: * if self.board.in_bounds(cx, cy) and (cx, cy) in player_occupied: # <<<<<<<<<<<<<< @@ -34309,35 +34902,35 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_v_cx, __pyx_v_cy}; __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_in_bounds, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 584, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); } - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 584, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 597, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_7) { } else { __pyx_t_12 = __pyx_t_7; goto __pyx_L32_bool_binop_done; } - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 584, __pyx_L1_error) + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_cx); __Pyx_GIVEREF(__pyx_v_cx); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_cx) != (0)) __PYX_ERR(0, 584, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_cx) != (0)) __PYX_ERR(0, 597, __pyx_L1_error); __Pyx_INCREF(__pyx_v_cy); __Pyx_GIVEREF(__pyx_v_cy); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_cy) != (0)) __PYX_ERR(0, 584, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_cy) != (0)) __PYX_ERR(0, 597, __pyx_L1_error); if (unlikely(__pyx_v_player_occupied == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 584, __pyx_L1_error) + __PYX_ERR(0, 597, __pyx_L1_error) } - __pyx_t_7 = (__Pyx_PySet_ContainsTF(__pyx_t_5, __pyx_v_player_occupied, Py_EQ)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 584, __pyx_L1_error) + __pyx_t_7 = (__Pyx_PySet_ContainsTF(__pyx_t_5, __pyx_v_player_occupied, Py_EQ)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 597, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_12 = __pyx_t_7; __pyx_L32_bool_binop_done:; if (__pyx_t_12) { - /* "blokus_gym/core/blokus_cython.pyx":585 + /* "blokus_cython.pyx":598 * for cx, cy in placed_corners: * if self.board.in_bounds(cx, cy) and (cx, cy) in player_occupied: * result = True # <<<<<<<<<<<<<< @@ -34346,7 +34939,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st */ __pyx_v_result = 1; - /* "blokus_gym/core/blokus_cython.pyx":586 + /* "blokus_cython.pyx":599 * if self.board.in_bounds(cx, cy) and (cx, cy) in player_occupied: * result = True * break # <<<<<<<<<<<<<< @@ -34355,7 +34948,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st */ goto __pyx_L28_break; - /* "blokus_gym/core/blokus_cython.pyx":584 + /* "blokus_cython.pyx":597 * result = False * for cx, cy in placed_corners: * if self.board.in_bounds(cx, cy) and (cx, cy) in player_occupied: # <<<<<<<<<<<<<< @@ -34364,7 +34957,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st */ } - /* "blokus_gym/core/blokus_cython.pyx":583 + /* "blokus_cython.pyx":596 * # Manual any() implementation - Cython doesn't support generator expressions * result = False * for cx, cy in placed_corners: # <<<<<<<<<<<<<< @@ -34379,7 +34972,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st goto __pyx_L34_for_end; __pyx_L34_for_end:; - /* "blokus_gym/core/blokus_cython.pyx":587 + /* "blokus_cython.pyx":600 * result = True * break * if not result: # <<<<<<<<<<<<<< @@ -34389,7 +34982,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __pyx_t_12 = (!__pyx_v_result); if (__pyx_t_12) { - /* "blokus_gym/core/blokus_cython.pyx":588 + /* "blokus_cython.pyx":601 * break * if not result: * return False # <<<<<<<<<<<<<< @@ -34399,7 +34992,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __pyx_r = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":587 + /* "blokus_cython.pyx":600 * result = True * break * if not result: # <<<<<<<<<<<<<< @@ -34408,16 +35001,16 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st */ } - /* "blokus_gym/core/blokus_cython.pyx":579 + /* "blokus_cython.pyx":592 * * # Rule 4: Corner rule (must touch same-color at a corner) * if player.has_started: # <<<<<<<<<<<<<< - * player_occupied = self.board.get_player_occupied(player_idx) + * player_occupied = self.board.get_player_occupied(player_board_idx) * # Manual any() implementation - Cython doesn't support generator expressions */ } - /* "blokus_gym/core/blokus_cython.pyx":590 + /* "blokus_cython.pyx":603 * return False * * return True # <<<<<<<<<<<<<< @@ -34427,8 +35020,8 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __pyx_r = 1; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":540 - * return result + /* "blokus_cython.pyx":553 + * return self._get_placed_corners(move) * * cpdef bint valid_move(self, int player_idx, Move move): # <<<<<<<<<<<<<< * """Check if a move is valid for the given player.""" @@ -34444,7 +35037,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_14); __Pyx_XDECREF(__pyx_t_15); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.valid_move", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.valid_move", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_player); @@ -34462,16 +35055,16 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(st } /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_9valid_move(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_13valid_move(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -PyDoc_STRVAR(__pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_8valid_move, "Check if a move is valid for the given player."); -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_9valid_move = {"valid_move", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_9valid_move, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_8valid_move}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_9valid_move(PyObject *__pyx_v_self, +PyDoc_STRVAR(__pyx_doc_13blokus_cython_10BlokusGame_12valid_move, "Check if a move is valid for the given player."); +static PyMethodDef __pyx_mdef_13blokus_cython_10BlokusGame_13valid_move = {"valid_move", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_13valid_move, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_10BlokusGame_12valid_move}; +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_13valid_move(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -34479,7 +35072,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds #endif ) { int __pyx_v_player_idx; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_move = 0; + struct __pyx_obj_13blokus_cython_Move *__pyx_v_move = 0; #if !CYTHON_METH_FASTCALL CYTHON_UNUSED Py_ssize_t __pyx_nargs; #endif @@ -34502,51 +35095,51 @@ PyObject *__pyx_args, PyObject *__pyx_kwds { PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_player_idx,&__pyx_mstate_global->__pyx_n_u_move,0}; const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(0, 540, __pyx_L3_error) + if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(0, 553, __pyx_L3_error) if (__pyx_kwds_len > 0) { switch (__pyx_nargs) { case 2: values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 540, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 553, __pyx_L3_error) CYTHON_FALLTHROUGH; case 1: values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 540, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 553, __pyx_L3_error) CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "valid_move", 0) < (0)) __PYX_ERR(0, 540, __pyx_L3_error) + if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "valid_move", 0) < (0)) __PYX_ERR(0, 553, __pyx_L3_error) for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("valid_move", 1, 2, 2, i); __PYX_ERR(0, 540, __pyx_L3_error) } + if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("valid_move", 1, 2, 2, i); __PYX_ERR(0, 553, __pyx_L3_error) } } } else if (unlikely(__pyx_nargs != 2)) { goto __pyx_L5_argtuple_error; } else { values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 540, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 553, __pyx_L3_error) values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 540, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 553, __pyx_L3_error) } - __pyx_v_player_idx = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_player_idx == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 540, __pyx_L3_error) - __pyx_v_move = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *)values[1]); + __pyx_v_player_idx = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_player_idx == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 553, __pyx_L3_error) + __pyx_v_move = ((struct __pyx_obj_13blokus_cython_Move *)values[1]); } goto __pyx_L6_skip; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("valid_move", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 540, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("valid_move", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 553, __pyx_L3_error) __pyx_L6_skip:; goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.valid_move", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.valid_move", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_move), __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Move, 1, "move", 0))) __PYX_ERR(0, 540, __pyx_L1_error) - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_8valid_move(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self), __pyx_v_player_idx, __pyx_v_move); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_move), __pyx_mstate_global->__pyx_ptype_13blokus_cython_Move, 1, "move", 0))) __PYX_ERR(0, 553, __pyx_L1_error) + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_12valid_move(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self), __pyx_v_player_idx, __pyx_v_move); /* function exit code */ goto __pyx_L0; @@ -34565,7 +35158,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_8valid_move(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx, struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_move) { +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_12valid_move(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx, struct __pyx_obj_13blokus_cython_Move *__pyx_v_move) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; @@ -34575,8 +35168,8 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_8valid int __pyx_clineno = 0; __Pyx_RefNannySetupContext("valid_move", 0); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move(__pyx_v_self, __pyx_v_player_idx, __pyx_v_move, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 540, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 540, __pyx_L1_error) + __pyx_t_1 = __pyx_f_13blokus_cython_10BlokusGame_valid_move(__pyx_v_self, __pyx_v_player_idx, __pyx_v_move, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 553, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 553, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; @@ -34585,7 +35178,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_8valid /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.valid_move", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.valid_move", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -34593,7 +35186,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_8valid return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":592 +/* "blokus_cython.pyx":605 * return True * * cpdef get_valid_actions(self, int player_idx): # <<<<<<<<<<<<<< @@ -34601,20 +35194,20 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_8valid * cdef PlayerState player = self.players[player_idx] */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_11get_valid_actions(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_15get_valid_actions(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_valid_actions(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx, int __pyx_skip_dispatch) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_player = 0; +static PyObject *__pyx_f_13blokus_cython_10BlokusGame_get_valid_actions(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx, int __pyx_skip_dispatch) { + struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_player = 0; PyArrayObject *__pyx_v_mask = 0; PyObject *__pyx_v_available_piece_ids = 0; int __pyx_v_piece_id; int __pyx_v_action_idx; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_move = 0; + struct __pyx_obj_13blokus_cython_Move *__pyx_v_move = 0; PyObject *__pyx_v_placed_corners = 0; PyObject *__pyx_v_placed_squares = 0; int __pyx_v_x; @@ -34661,7 +35254,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val /* Check if overridden in Python */ else if ( #if !CYTHON_USE_TYPE_SLOTS - unlikely(Py_TYPE(((PyObject *)__pyx_v_self)) != __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame && + unlikely(Py_TYPE(((PyObject *)__pyx_v_self)) != __pyx_mstate_global->__pyx_ptype_13blokus_cython_BlokusGame && __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), Py_TPFLAGS_HAVE_GC)) #else unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0 || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE))) @@ -34672,14 +35265,14 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) { PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self)); #endif - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_get_valid_actions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 592, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_get_valid_actions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (!__Pyx_IsSameCFunction(__pyx_t_1, (void(*)(void)) __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_11get_valid_actions)) { + if (!__Pyx_IsSameCFunction(__pyx_t_1, (void(*)(void)) __pyx_pw_13blokus_cython_10BlokusGame_15get_valid_actions)) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = NULL; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = __pyx_t_1; - __pyx_t_5 = __Pyx_PyLong_From_int(__pyx_v_player_idx); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 592, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyLong_From_int(__pyx_v_player_idx); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = 1; #if CYTHON_UNPACK_METHODS @@ -34699,7 +35292,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 592, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); } __pyx_r = __pyx_t_2; @@ -34720,7 +35313,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val #endif } - /* "blokus_gym/core/blokus_cython.pyx":594 + /* "blokus_cython.pyx":607 * cpdef get_valid_actions(self, int player_idx): * """Get a boolean mask of valid actions for the given player.""" * cdef PlayerState player = self.players[player_idx] # <<<<<<<<<<<<<< @@ -34729,15 +35322,15 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ if (unlikely(__pyx_v_self->players == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 594, __pyx_L1_error) + __PYX_ERR(0, 607, __pyx_L1_error) } - __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_self->players, __pyx_v_player_idx, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 594, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_self->players, __pyx_v_player_idx, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 607, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PlayerState))))) __PYX_ERR(0, 594, __pyx_L1_error) - __pyx_v_player = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_13blokus_cython_PlayerState))))) __PYX_ERR(0, 607, __pyx_L1_error) + __pyx_v_player = ((struct __pyx_obj_13blokus_cython_PlayerState *)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":595 + /* "blokus_cython.pyx":608 * """Get a boolean mask of valid actions for the given player.""" * cdef PlayerState player = self.players[player_idx] * cdef cnp.ndarray mask = np.zeros(self.num_actions, dtype=bool) # <<<<<<<<<<<<<< @@ -34745,12 +35338,12 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val * cdef int piece_id, action_idx */ __pyx_t_2 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 595, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_zeros); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 595, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_zeros); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_num_actions); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 595, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_num_actions); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = 1; #if CYTHON_UNPACK_METHODS @@ -34766,34 +35359,34 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val #endif { PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_4}; - __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 595, __pyx_L1_error) + __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_3, __pyx_callargs+2, 0) < (0)) __PYX_ERR(0, 595, __pyx_L1_error) + if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_3, __pyx_callargs+2, 0) < (0)) __PYX_ERR(0, 608, __pyx_L1_error) __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 595, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 595, __pyx_L1_error) + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 608, __pyx_L1_error) __pyx_v_mask = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":596 + /* "blokus_cython.pyx":609 * cdef PlayerState player = self.players[player_idx] * cdef cnp.ndarray mask = np.zeros(self.num_actions, dtype=bool) * cdef list available_piece_ids = [] # <<<<<<<<<<<<<< * cdef int piece_id, action_idx * cdef Move move */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 596, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_available_piece_ids = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":600 + /* "blokus_cython.pyx":613 * cdef Move move * cdef list placed_corners, placed_squares * cdef int x, y, player_board_idx = player_idx + 1 # <<<<<<<<<<<<<< @@ -34802,7 +35395,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ __pyx_v_player_board_idx = (__pyx_v_player_idx + 1); - /* "blokus_gym/core/blokus_cython.pyx":607 + /* "blokus_cython.pyx":620 * * # Build available_piece_ids list * for name in player.available_pieces: # <<<<<<<<<<<<<< @@ -34810,7 +35403,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val * */ __pyx_t_7 = 0; - __pyx_t_5 = __Pyx_set_iterator(__pyx_v_player->available_pieces, 1, (&__pyx_t_8), (&__pyx_t_9)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 607, __pyx_L1_error) + __pyx_t_5 = __Pyx_set_iterator(__pyx_v_player->available_pieces, 1, (&__pyx_t_8), (&__pyx_t_9)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = __pyx_t_5; @@ -34818,12 +35411,12 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val while (1) { __pyx_t_10 = __Pyx_set_iter_next(__pyx_t_1, __pyx_t_8, &__pyx_t_7, &__pyx_t_5, __pyx_t_9); if (unlikely(__pyx_t_10 == 0)) break; - if (unlikely(__pyx_t_10 == -1)) __PYX_ERR(0, 607, __pyx_L1_error) + if (unlikely(__pyx_t_10 == -1)) __PYX_ERR(0, 620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_5); __pyx_t_5 = 0; - /* "blokus_gym/core/blokus_cython.pyx":608 + /* "blokus_cython.pyx":621 * # Build available_piece_ids list * for name in player.available_pieces: * available_piece_ids.append(self.piece_set.get_piece_id(name)) # <<<<<<<<<<<<<< @@ -34837,15 +35430,15 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_name}; __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_piece_id, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 608, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 621, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); } - __pyx_t_11 = __Pyx_PyList_Append(__pyx_v_available_piece_ids, __pyx_t_5); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 608, __pyx_L1_error) + __pyx_t_11 = __Pyx_PyList_Append(__pyx_v_available_piece_ids, __pyx_t_5); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 621, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":610 + /* "blokus_cython.pyx":623 * available_piece_ids.append(self.piece_set.get_piece_id(name)) * * if not player.can_move: # <<<<<<<<<<<<<< @@ -34855,7 +35448,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val __pyx_t_12 = (!__pyx_v_player->can_move); if (__pyx_t_12) { - /* "blokus_gym/core/blokus_cython.pyx":611 + /* "blokus_cython.pyx":624 * * if not player.can_move: * return mask # <<<<<<<<<<<<<< @@ -34867,7 +35460,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val __pyx_r = ((PyObject *)__pyx_v_mask); goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":610 + /* "blokus_cython.pyx":623 * available_piece_ids.append(self.piece_set.get_piece_id(name)) * * if not player.can_move: # <<<<<<<<<<<<<< @@ -34876,7 +35469,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ } - /* "blokus_gym/core/blokus_cython.pyx":613 + /* "blokus_cython.pyx":626 * return mask * * if not player.has_started or not player.corners: # <<<<<<<<<<<<<< @@ -34893,7 +35486,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val else { Py_ssize_t __pyx_temp = __Pyx_PySet_GET_SIZE(__pyx_v_player->corners); - if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(0, 613, __pyx_L1_error) + if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(0, 626, __pyx_L1_error) __pyx_t_13 = (__pyx_temp != 0); } @@ -34902,7 +35495,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val __pyx_L7_bool_binop_done:; if (__pyx_t_12) { - /* "blokus_gym/core/blokus_cython.pyx":614 + /* "blokus_cython.pyx":627 * * if not player.has_started or not player.corners: * for piece_id in available_piece_ids: # <<<<<<<<<<<<<< @@ -34915,19 +35508,19 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 614, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 627, __pyx_L1_error) #endif if (__pyx_t_8 >= __pyx_temp) break; } __pyx_t_5 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_1, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference); ++__pyx_t_8; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 614, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_t_5); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 614, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_t_5); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 627, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_piece_id = __pyx_t_9; - /* "blokus_gym/core/blokus_cython.pyx":615 + /* "blokus_cython.pyx":628 * if not player.has_started or not player.corners: * for piece_id in available_piece_ids: * for action_idx in self._actions_by_piece[piece_id]: # <<<<<<<<<<<<<< @@ -34936,18 +35529,18 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ if (unlikely(__pyx_v_self->_actions_by_piece == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 615, __pyx_L1_error) + __PYX_ERR(0, 628, __pyx_L1_error) } - __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_self->_actions_by_piece, __pyx_v_piece_id, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 615, __pyx_L1_error) + __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_self->_actions_by_piece, __pyx_v_piece_id, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_3 = __pyx_t_5; __Pyx_INCREF(__pyx_t_3); __pyx_t_7 = 0; __pyx_t_15 = NULL; } else { - __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 615, __pyx_L1_error) + __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_15 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 615, __pyx_L1_error) + __pyx_t_15 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 628, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { @@ -34956,7 +35549,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 615, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 628, __pyx_L1_error) #endif if (__pyx_t_7 >= __pyx_temp) break; } @@ -34966,7 +35559,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val { Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 615, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 628, __pyx_L1_error) #endif if (__pyx_t_7 >= __pyx_temp) break; } @@ -34977,24 +35570,24 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val #endif ++__pyx_t_7; } - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 615, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 628, __pyx_L1_error) } else { __pyx_t_5 = __pyx_t_15(__pyx_t_3); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 615, __pyx_L1_error) + if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 628, __pyx_L1_error) PyErr_Clear(); } break; } } __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_t_5); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 615, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_t_5); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 628, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_action_idx = __pyx_t_9; - /* "blokus_gym/core/blokus_cython.pyx":616 + /* "blokus_cython.pyx":629 * for piece_id in available_piece_ids: * for action_idx in self._actions_by_piece[piece_id]: * if self.valid_move(player_idx, self._action_moves[action_idx]): # <<<<<<<<<<<<<< @@ -35003,25 +35596,25 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ if (unlikely(__pyx_v_self->_action_moves == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 616, __pyx_L1_error) + __PYX_ERR(0, 629, __pyx_L1_error) } - __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_self->_action_moves, __pyx_v_action_idx, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 616, __pyx_L1_error) + __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_self->_action_moves, __pyx_v_action_idx, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Move))))) __PYX_ERR(0, 616, __pyx_L1_error) - __pyx_t_12 = ((struct __pyx_vtabstruct_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->valid_move(__pyx_v_self, __pyx_v_player_idx, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *)__pyx_t_5), 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 616, __pyx_L1_error) + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_mstate_global->__pyx_ptype_13blokus_cython_Move))))) __PYX_ERR(0, 629, __pyx_L1_error) + __pyx_t_12 = ((struct __pyx_vtabstruct_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->valid_move(__pyx_v_self, __pyx_v_player_idx, ((struct __pyx_obj_13blokus_cython_Move *)__pyx_t_5), 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 629, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_12) { - /* "blokus_gym/core/blokus_cython.pyx":617 + /* "blokus_cython.pyx":630 * for action_idx in self._actions_by_piece[piece_id]: * if self.valid_move(player_idx, self._action_moves[action_idx]): * mask[action_idx] = True # <<<<<<<<<<<<<< * return mask * */ - if (unlikely((__Pyx_SetItemInt(((PyObject *)__pyx_v_mask), __pyx_v_action_idx, Py_True, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference) < 0))) __PYX_ERR(0, 617, __pyx_L1_error) + if (unlikely((__Pyx_SetItemInt(((PyObject *)__pyx_v_mask), __pyx_v_action_idx, Py_True, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference) < 0))) __PYX_ERR(0, 630, __pyx_L1_error) - /* "blokus_gym/core/blokus_cython.pyx":616 + /* "blokus_cython.pyx":629 * for piece_id in available_piece_ids: * for action_idx in self._actions_by_piece[piece_id]: * if self.valid_move(player_idx, self._action_moves[action_idx]): # <<<<<<<<<<<<<< @@ -35030,7 +35623,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ } - /* "blokus_gym/core/blokus_cython.pyx":615 + /* "blokus_cython.pyx":628 * if not player.has_started or not player.corners: * for piece_id in available_piece_ids: * for action_idx in self._actions_by_piece[piece_id]: # <<<<<<<<<<<<<< @@ -35040,7 +35633,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":614 + /* "blokus_cython.pyx":627 * * if not player.has_started or not player.corners: * for piece_id in available_piece_ids: # <<<<<<<<<<<<<< @@ -35050,7 +35643,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":618 + /* "blokus_cython.pyx":631 * if self.valid_move(player_idx, self._action_moves[action_idx]): * mask[action_idx] = True * return mask # <<<<<<<<<<<<<< @@ -35062,7 +35655,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val __pyx_r = ((PyObject *)__pyx_v_mask); goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":613 + /* "blokus_cython.pyx":626 * return mask * * if not player.has_started or not player.corners: # <<<<<<<<<<<<<< @@ -35071,7 +35664,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ } - /* "blokus_gym/core/blokus_cython.pyx":621 + /* "blokus_cython.pyx":634 * * # Pre-compute player's occupied squares ONCE * player_occupied = self.board.get_player_occupied(player_idx + 1) # <<<<<<<<<<<<<< @@ -35080,7 +35673,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ __pyx_t_3 = __pyx_v_self->board; __Pyx_INCREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyLong_From_long((__pyx_v_player_idx + 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 621, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyLong_From_long((__pyx_v_player_idx + 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 634, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = 0; { @@ -35088,14 +35681,14 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_player_occupied, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 621, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 634, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } - if (!(likely(PySet_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("set", __pyx_t_1))) __PYX_ERR(0, 621, __pyx_L1_error) + if (!(likely(PySet_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("set", __pyx_t_1))) __PYX_ERR(0, 634, __pyx_L1_error) __pyx_v_player_occupied = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":623 + /* "blokus_cython.pyx":636 * player_occupied = self.board.get_player_occupied(player_idx + 1) * * for piece_id in available_piece_ids: # <<<<<<<<<<<<<< @@ -35108,19 +35701,19 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 623, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 636, __pyx_L1_error) #endif if (__pyx_t_8 >= __pyx_temp) break; } __pyx_t_5 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_1, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference); ++__pyx_t_8; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 623, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_t_5); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 623, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_t_5); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 636, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_piece_id = __pyx_t_9; - /* "blokus_gym/core/blokus_cython.pyx":624 + /* "blokus_cython.pyx":637 * * for piece_id in available_piece_ids: * for action_idx in self._actions_by_piece[piece_id]: # <<<<<<<<<<<<<< @@ -35129,18 +35722,18 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ if (unlikely(__pyx_v_self->_actions_by_piece == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 624, __pyx_L1_error) + __PYX_ERR(0, 637, __pyx_L1_error) } - __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_self->_actions_by_piece, __pyx_v_piece_id, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 624, __pyx_L1_error) + __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_self->_actions_by_piece, __pyx_v_piece_id, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_3 = __pyx_t_5; __Pyx_INCREF(__pyx_t_3); __pyx_t_7 = 0; __pyx_t_15 = NULL; } else { - __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 624, __pyx_L1_error) + __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_15 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 624, __pyx_L1_error) + __pyx_t_15 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 637, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { @@ -35149,7 +35742,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 624, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 637, __pyx_L1_error) #endif if (__pyx_t_7 >= __pyx_temp) break; } @@ -35159,7 +35752,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val { Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 624, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 637, __pyx_L1_error) #endif if (__pyx_t_7 >= __pyx_temp) break; } @@ -35170,24 +35763,24 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val #endif ++__pyx_t_7; } - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 624, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 637, __pyx_L1_error) } else { __pyx_t_5 = __pyx_t_15(__pyx_t_3); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 624, __pyx_L1_error) + if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 637, __pyx_L1_error) PyErr_Clear(); } break; } } __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_t_5); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 624, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_t_5); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 637, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_action_idx = __pyx_t_9; - /* "blokus_gym/core/blokus_cython.pyx":625 + /* "blokus_cython.pyx":638 * for piece_id in available_piece_ids: * for action_idx in self._actions_by_piece[piece_id]: * move = self._action_moves[action_idx] # <<<<<<<<<<<<<< @@ -35196,27 +35789,27 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ if (unlikely(__pyx_v_self->_action_moves == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 625, __pyx_L1_error) + __PYX_ERR(0, 638, __pyx_L1_error) } - __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_self->_action_moves, __pyx_v_action_idx, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 625, __pyx_L1_error) + __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_self->_action_moves, __pyx_v_action_idx, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Move))))) __PYX_ERR(0, 625, __pyx_L1_error) - __Pyx_XDECREF_SET(__pyx_v_move, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *)__pyx_t_5)); + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_mstate_global->__pyx_ptype_13blokus_cython_Move))))) __PYX_ERR(0, 638, __pyx_L1_error) + __Pyx_XDECREF_SET(__pyx_v_move, ((struct __pyx_obj_13blokus_cython_Move *)__pyx_t_5)); __pyx_t_5 = 0; - /* "blokus_gym/core/blokus_cython.pyx":626 + /* "blokus_cython.pyx":639 * for action_idx in self._actions_by_piece[piece_id]: * move = self._action_moves[action_idx] * placed_corners = self._get_placed_corners(move) # <<<<<<<<<<<<<< * * # Early exit: check corner touch (manual any()) */ - __pyx_t_5 = ((struct __pyx_vtabstruct_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->_get_placed_corners(__pyx_v_self, __pyx_v_move); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 626, __pyx_L1_error) + __pyx_t_5 = ((struct __pyx_vtabstruct_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->_get_placed_corners(__pyx_v_self, __pyx_v_move); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 639, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_XDECREF_SET(__pyx_v_placed_corners, ((PyObject*)__pyx_t_5)); __pyx_t_5 = 0; - /* "blokus_gym/core/blokus_cython.pyx":629 + /* "blokus_cython.pyx":642 * * # Early exit: check corner touch (manual any()) * result = False # <<<<<<<<<<<<<< @@ -35225,7 +35818,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ __pyx_v_result = 0; - /* "blokus_gym/core/blokus_cython.pyx":630 + /* "blokus_cython.pyx":643 * # Early exit: check corner touch (manual any()) * result = False * for cx, cy in placed_corners: # <<<<<<<<<<<<<< @@ -35234,7 +35827,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ if (unlikely(__pyx_v_placed_corners == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 630, __pyx_L1_error) + __PYX_ERR(0, 643, __pyx_L1_error) } __pyx_t_5 = __pyx_v_placed_corners; __Pyx_INCREF(__pyx_t_5); __pyx_t_16 = 0; @@ -35242,13 +35835,13 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 630, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 643, __pyx_L1_error) #endif if (__pyx_t_16 >= __pyx_temp) break; } __pyx_t_4 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_5, __pyx_t_16, __Pyx_ReferenceSharing_OwnStrongReference); ++__pyx_t_16; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 630, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 643, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) { PyObject* sequence = __pyx_t_4; @@ -35256,7 +35849,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 630, __pyx_L1_error) + __PYX_ERR(0, 643, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { @@ -35266,22 +35859,22 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val __Pyx_INCREF(__pyx_t_17); } else { __pyx_t_2 = __Pyx_PyList_GET_ITEM_REF(sequence, 0, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 630, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 643, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_2); __pyx_t_17 = __Pyx_PyList_GET_ITEM_REF(sequence, 1, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 630, __pyx_L1_error) + if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 643, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_17); } #else - __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 630, __pyx_L1_error) + __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 643, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_17 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 630, __pyx_L1_error) + __pyx_t_17 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 643, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); #endif __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else { Py_ssize_t index = -1; - __pyx_t_18 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 630, __pyx_L1_error) + __pyx_t_18 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 643, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_19 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_18); @@ -35289,7 +35882,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val __Pyx_GOTREF(__pyx_t_2); index = 1; __pyx_t_17 = __pyx_t_19(__pyx_t_18); if (unlikely(!__pyx_t_17)) goto __pyx_L22_unpacking_failed; __Pyx_GOTREF(__pyx_t_17); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_19(__pyx_t_18), 2) < (0)) __PYX_ERR(0, 630, __pyx_L1_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_19(__pyx_t_18), 2) < (0)) __PYX_ERR(0, 643, __pyx_L1_error) __pyx_t_19 = NULL; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; goto __pyx_L23_unpacking_done; @@ -35297,17 +35890,17 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_19 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 630, __pyx_L1_error) + __PYX_ERR(0, 643, __pyx_L1_error) __pyx_L23_unpacking_done:; } - __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_t_2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 630, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_t_2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 643, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_10 = __Pyx_PyLong_As_int(__pyx_t_17); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 630, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyLong_As_int(__pyx_t_17); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 643, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_v_cx = __pyx_t_9; __pyx_v_cy = __pyx_t_10; - /* "blokus_gym/core/blokus_cython.pyx":631 + /* "blokus_cython.pyx":644 * result = False * for cx, cy in placed_corners: * if self.board.in_bounds(cx, cy) and (cx, cy) in player_occupied: # <<<<<<<<<<<<<< @@ -35316,9 +35909,9 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ __pyx_t_17 = __pyx_v_self->board; __Pyx_INCREF(__pyx_t_17); - __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_cx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 631, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_cx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 644, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_18 = __Pyx_PyLong_From_int(__pyx_v_cy); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 631, __pyx_L1_error) + __pyx_t_18 = __Pyx_PyLong_From_int(__pyx_v_cy); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 644, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_6 = 0; { @@ -35327,39 +35920,39 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 631, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 644, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); } - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_14 < 0))) __PYX_ERR(0, 631, __pyx_L1_error) + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_14 < 0))) __PYX_ERR(0, 644, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_14) { } else { __pyx_t_12 = __pyx_t_14; goto __pyx_L25_bool_binop_done; } - __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_cx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 631, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_cx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 644, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_18 = __Pyx_PyLong_From_int(__pyx_v_cy); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 631, __pyx_L1_error) + __pyx_t_18 = __Pyx_PyLong_From_int(__pyx_v_cy); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 644, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 631, __pyx_L1_error) + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 644, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 631, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 644, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_18); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_18) != (0)) __PYX_ERR(0, 631, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_18) != (0)) __PYX_ERR(0, 644, __pyx_L1_error); __pyx_t_4 = 0; __pyx_t_18 = 0; if (unlikely(__pyx_v_player_occupied == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 631, __pyx_L1_error) + __PYX_ERR(0, 644, __pyx_L1_error) } - __pyx_t_14 = (__Pyx_PySet_ContainsTF(__pyx_t_2, __pyx_v_player_occupied, Py_EQ)); if (unlikely((__pyx_t_14 < 0))) __PYX_ERR(0, 631, __pyx_L1_error) + __pyx_t_14 = (__Pyx_PySet_ContainsTF(__pyx_t_2, __pyx_v_player_occupied, Py_EQ)); if (unlikely((__pyx_t_14 < 0))) __PYX_ERR(0, 644, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_12 = __pyx_t_14; __pyx_L25_bool_binop_done:; if (__pyx_t_12) { - /* "blokus_gym/core/blokus_cython.pyx":632 + /* "blokus_cython.pyx":645 * for cx, cy in placed_corners: * if self.board.in_bounds(cx, cy) and (cx, cy) in player_occupied: * result = True # <<<<<<<<<<<<<< @@ -35368,7 +35961,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ __pyx_v_result = 1; - /* "blokus_gym/core/blokus_cython.pyx":633 + /* "blokus_cython.pyx":646 * if self.board.in_bounds(cx, cy) and (cx, cy) in player_occupied: * result = True * break # <<<<<<<<<<<<<< @@ -35377,7 +35970,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ goto __pyx_L21_break; - /* "blokus_gym/core/blokus_cython.pyx":631 + /* "blokus_cython.pyx":644 * result = False * for cx, cy in placed_corners: * if self.board.in_bounds(cx, cy) and (cx, cy) in player_occupied: # <<<<<<<<<<<<<< @@ -35386,7 +35979,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ } - /* "blokus_gym/core/blokus_cython.pyx":630 + /* "blokus_cython.pyx":643 * # Early exit: check corner touch (manual any()) * result = False * for cx, cy in placed_corners: # <<<<<<<<<<<<<< @@ -35401,7 +35994,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val goto __pyx_L27_for_end; __pyx_L27_for_end:; - /* "blokus_gym/core/blokus_cython.pyx":634 + /* "blokus_cython.pyx":647 * result = True * break * if not result: # <<<<<<<<<<<<<< @@ -35411,7 +36004,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val __pyx_t_12 = (!__pyx_v_result); if (__pyx_t_12) { - /* "blokus_gym/core/blokus_cython.pyx":635 + /* "blokus_cython.pyx":648 * break * if not result: * continue # <<<<<<<<<<<<<< @@ -35420,7 +36013,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ goto __pyx_L18_continue; - /* "blokus_gym/core/blokus_cython.pyx":634 + /* "blokus_cython.pyx":647 * result = True * break * if not result: # <<<<<<<<<<<<<< @@ -35429,19 +36022,19 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ } - /* "blokus_gym/core/blokus_cython.pyx":637 + /* "blokus_cython.pyx":650 * continue * * placed_squares = self._get_placed_squares(move) # <<<<<<<<<<<<<< * * # Check bounds */ - __pyx_t_5 = ((struct __pyx_vtabstruct_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->_get_placed_squares(__pyx_v_self, __pyx_v_move); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 637, __pyx_L1_error) + __pyx_t_5 = ((struct __pyx_vtabstruct_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->_get_placed_squares(__pyx_v_self, __pyx_v_move); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 650, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_XDECREF_SET(__pyx_v_placed_squares, ((PyObject*)__pyx_t_5)); __pyx_t_5 = 0; - /* "blokus_gym/core/blokus_cython.pyx":640 + /* "blokus_cython.pyx":653 * * # Check bounds * result = True # <<<<<<<<<<<<<< @@ -35450,240 +36043,12 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ __pyx_v_result = 1; - /* "blokus_gym/core/blokus_cython.pyx":641 + /* "blokus_cython.pyx":654 * # Check bounds * result = True * for x, y in placed_squares: # <<<<<<<<<<<<<< * if not self.board.in_bounds(x, y): * result = False -*/ - if (unlikely(__pyx_v_placed_squares == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 641, __pyx_L1_error) - } - __pyx_t_5 = __pyx_v_placed_squares; __Pyx_INCREF(__pyx_t_5); - __pyx_t_16 = 0; - for (;;) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 641, __pyx_L1_error) - #endif - if (__pyx_t_16 >= __pyx_temp) break; - } - __pyx_t_2 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_5, __pyx_t_16, __Pyx_ReferenceSharing_OwnStrongReference); - ++__pyx_t_16; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 641, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) { - PyObject* sequence = __pyx_t_2; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 2)) { - if (size > 2) __Pyx_RaiseTooManyValuesError(2); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 641, __pyx_L1_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_18 = PyTuple_GET_ITEM(sequence, 0); - __Pyx_INCREF(__pyx_t_18); - __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); - __Pyx_INCREF(__pyx_t_4); - } else { - __pyx_t_18 = __Pyx_PyList_GET_ITEM_REF(sequence, 0, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 641, __pyx_L1_error) - __Pyx_XGOTREF(__pyx_t_18); - __pyx_t_4 = __Pyx_PyList_GET_ITEM_REF(sequence, 1, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 641, __pyx_L1_error) - __Pyx_XGOTREF(__pyx_t_4); - } - #else - __pyx_t_18 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 641, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 641, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #endif - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } else { - Py_ssize_t index = -1; - __pyx_t_17 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 641, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_19 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_17); - index = 0; __pyx_t_18 = __pyx_t_19(__pyx_t_17); if (unlikely(!__pyx_t_18)) goto __pyx_L31_unpacking_failed; - __Pyx_GOTREF(__pyx_t_18); - index = 1; __pyx_t_4 = __pyx_t_19(__pyx_t_17); if (unlikely(!__pyx_t_4)) goto __pyx_L31_unpacking_failed; - __Pyx_GOTREF(__pyx_t_4); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_19(__pyx_t_17), 2) < (0)) __PYX_ERR(0, 641, __pyx_L1_error) - __pyx_t_19 = NULL; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - goto __pyx_L32_unpacking_done; - __pyx_L31_unpacking_failed:; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_19 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 641, __pyx_L1_error) - __pyx_L32_unpacking_done:; - } - __pyx_t_10 = __Pyx_PyLong_As_int(__pyx_t_18); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 641, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_t_4); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 641, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_v_x = __pyx_t_10; - __pyx_v_y = __pyx_t_9; - - /* "blokus_gym/core/blokus_cython.pyx":642 - * result = True - * for x, y in placed_squares: - * if not self.board.in_bounds(x, y): # <<<<<<<<<<<<<< - * result = False - * break -*/ - __pyx_t_4 = __pyx_v_self->board; - __Pyx_INCREF(__pyx_t_4); - __pyx_t_18 = __Pyx_PyLong_From_int(__pyx_v_x); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 642, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_17 = __Pyx_PyLong_From_int(__pyx_v_y); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 642, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_6 = 0; - { - PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_18, __pyx_t_17}; - __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_in_bounds, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 642, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 642, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_14 = (!__pyx_t_12); - if (__pyx_t_14) { - - /* "blokus_gym/core/blokus_cython.pyx":643 - * for x, y in placed_squares: - * if not self.board.in_bounds(x, y): - * result = False # <<<<<<<<<<<<<< - * break - * if not result: -*/ - __pyx_v_result = 0; - - /* "blokus_gym/core/blokus_cython.pyx":644 - * if not self.board.in_bounds(x, y): - * result = False - * break # <<<<<<<<<<<<<< - * if not result: - * continue -*/ - goto __pyx_L30_break; - - /* "blokus_gym/core/blokus_cython.pyx":642 - * result = True - * for x, y in placed_squares: - * if not self.board.in_bounds(x, y): # <<<<<<<<<<<<<< - * result = False - * break -*/ - } - - /* "blokus_gym/core/blokus_cython.pyx":641 - * # Check bounds - * result = True - * for x, y in placed_squares: # <<<<<<<<<<<<<< - * if not self.board.in_bounds(x, y): - * result = False -*/ - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L34_for_end; - __pyx_L30_break:; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L34_for_end; - __pyx_L34_for_end:; - - /* "blokus_gym/core/blokus_cython.pyx":645 - * result = False - * break - * if not result: # <<<<<<<<<<<<<< - * continue - * -*/ - __pyx_t_14 = (!__pyx_v_result); - if (__pyx_t_14) { - - /* "blokus_gym/core/blokus_cython.pyx":646 - * break - * if not result: - * continue # <<<<<<<<<<<<<< - * - * # Check overlap -*/ - goto __pyx_L18_continue; - - /* "blokus_gym/core/blokus_cython.pyx":645 - * result = False - * break - * if not result: # <<<<<<<<<<<<<< - * continue - * -*/ - } - - /* "blokus_gym/core/blokus_cython.pyx":649 - * - * # Check overlap - * if self.board.has_overlap(placed_squares): # <<<<<<<<<<<<<< - * continue - * -*/ - __pyx_t_2 = __pyx_v_self->board; - __Pyx_INCREF(__pyx_t_2); - __pyx_t_6 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_placed_squares}; - __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_has_overlap, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 649, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - } - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_14 < 0))) __PYX_ERR(0, 649, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_14) { - - /* "blokus_gym/core/blokus_cython.pyx":650 - * # Check overlap - * if self.board.has_overlap(placed_squares): - * continue # <<<<<<<<<<<<<< - * - * # Check edge adjacency (inline for speed) -*/ - goto __pyx_L18_continue; - - /* "blokus_gym/core/blokus_cython.pyx":649 - * - * # Check overlap - * if self.board.has_overlap(placed_squares): # <<<<<<<<<<<<<< - * continue - * -*/ - } - - /* "blokus_gym/core/blokus_cython.pyx":653 - * - * # Check edge adjacency (inline for speed) - * edge_invalid = False # <<<<<<<<<<<<<< - * for x, y in placed_squares: - * for dx, dy in [(-1, 0), (1, 0), (0, -1), (0, 1)]: -*/ - __pyx_v_edge_invalid = 0; - - /* "blokus_gym/core/blokus_cython.pyx":654 - * # Check edge adjacency (inline for speed) - * edge_invalid = False - * for x, y in placed_squares: # <<<<<<<<<<<<<< - * for dx, dy in [(-1, 0), (1, 0), (0, -1), (0, 1)]: - * if self.board.in_bounds(x + dx, y + dy): */ if (unlikely(__pyx_v_placed_squares == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); @@ -35712,6 +36077,234 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val __PYX_ERR(0, 654, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_18 = PyTuple_GET_ITEM(sequence, 0); + __Pyx_INCREF(__pyx_t_18); + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); + __Pyx_INCREF(__pyx_t_4); + } else { + __pyx_t_18 = __Pyx_PyList_GET_ITEM_REF(sequence, 0, __Pyx_ReferenceSharing_SharedReference); + if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 654, __pyx_L1_error) + __Pyx_XGOTREF(__pyx_t_18); + __pyx_t_4 = __Pyx_PyList_GET_ITEM_REF(sequence, 1, __Pyx_ReferenceSharing_SharedReference); + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 654, __pyx_L1_error) + __Pyx_XGOTREF(__pyx_t_4); + } + #else + __pyx_t_18 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 654, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_18); + __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 654, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_17 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 654, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_19 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_17); + index = 0; __pyx_t_18 = __pyx_t_19(__pyx_t_17); if (unlikely(!__pyx_t_18)) goto __pyx_L31_unpacking_failed; + __Pyx_GOTREF(__pyx_t_18); + index = 1; __pyx_t_4 = __pyx_t_19(__pyx_t_17); if (unlikely(!__pyx_t_4)) goto __pyx_L31_unpacking_failed; + __Pyx_GOTREF(__pyx_t_4); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_19(__pyx_t_17), 2) < (0)) __PYX_ERR(0, 654, __pyx_L1_error) + __pyx_t_19 = NULL; + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + goto __pyx_L32_unpacking_done; + __pyx_L31_unpacking_failed:; + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __pyx_t_19 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 654, __pyx_L1_error) + __pyx_L32_unpacking_done:; + } + __pyx_t_10 = __Pyx_PyLong_As_int(__pyx_t_18); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 654, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_t_4); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 654, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_x = __pyx_t_10; + __pyx_v_y = __pyx_t_9; + + /* "blokus_cython.pyx":655 + * result = True + * for x, y in placed_squares: + * if not self.board.in_bounds(x, y): # <<<<<<<<<<<<<< + * result = False + * break +*/ + __pyx_t_4 = __pyx_v_self->board; + __Pyx_INCREF(__pyx_t_4); + __pyx_t_18 = __Pyx_PyLong_From_int(__pyx_v_x); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 655, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_18); + __pyx_t_17 = __Pyx_PyLong_From_int(__pyx_v_y); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 655, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_6 = 0; + { + PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_18, __pyx_t_17}; + __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_in_bounds, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 655, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + } + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 655, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_14 = (!__pyx_t_12); + if (__pyx_t_14) { + + /* "blokus_cython.pyx":656 + * for x, y in placed_squares: + * if not self.board.in_bounds(x, y): + * result = False # <<<<<<<<<<<<<< + * break + * if not result: +*/ + __pyx_v_result = 0; + + /* "blokus_cython.pyx":657 + * if not self.board.in_bounds(x, y): + * result = False + * break # <<<<<<<<<<<<<< + * if not result: + * continue +*/ + goto __pyx_L30_break; + + /* "blokus_cython.pyx":655 + * result = True + * for x, y in placed_squares: + * if not self.board.in_bounds(x, y): # <<<<<<<<<<<<<< + * result = False + * break +*/ + } + + /* "blokus_cython.pyx":654 + * # Check bounds + * result = True + * for x, y in placed_squares: # <<<<<<<<<<<<<< + * if not self.board.in_bounds(x, y): + * result = False +*/ + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L34_for_end; + __pyx_L30_break:; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L34_for_end; + __pyx_L34_for_end:; + + /* "blokus_cython.pyx":658 + * result = False + * break + * if not result: # <<<<<<<<<<<<<< + * continue + * +*/ + __pyx_t_14 = (!__pyx_v_result); + if (__pyx_t_14) { + + /* "blokus_cython.pyx":659 + * break + * if not result: + * continue # <<<<<<<<<<<<<< + * + * # Check overlap +*/ + goto __pyx_L18_continue; + + /* "blokus_cython.pyx":658 + * result = False + * break + * if not result: # <<<<<<<<<<<<<< + * continue + * +*/ + } + + /* "blokus_cython.pyx":662 + * + * # Check overlap + * if self.board.has_overlap(placed_squares): # <<<<<<<<<<<<<< + * continue + * +*/ + __pyx_t_2 = __pyx_v_self->board; + __Pyx_INCREF(__pyx_t_2); + __pyx_t_6 = 0; + { + PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_placed_squares}; + __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_has_overlap, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 662, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + } + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_14 < 0))) __PYX_ERR(0, 662, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_t_14) { + + /* "blokus_cython.pyx":663 + * # Check overlap + * if self.board.has_overlap(placed_squares): + * continue # <<<<<<<<<<<<<< + * + * # Check edge adjacency (inline for speed) +*/ + goto __pyx_L18_continue; + + /* "blokus_cython.pyx":662 + * + * # Check overlap + * if self.board.has_overlap(placed_squares): # <<<<<<<<<<<<<< + * continue + * +*/ + } + + /* "blokus_cython.pyx":666 + * + * # Check edge adjacency (inline for speed) + * edge_invalid = False # <<<<<<<<<<<<<< + * for x, y in placed_squares: + * for dx, dy in [(-1, 0), (1, 0), (0, -1), (0, 1)]: +*/ + __pyx_v_edge_invalid = 0; + + /* "blokus_cython.pyx":667 + * # Check edge adjacency (inline for speed) + * edge_invalid = False + * for x, y in placed_squares: # <<<<<<<<<<<<<< + * for dx, dy in [(-1, 0), (1, 0), (0, -1), (0, 1)]: + * if self.board.in_bounds(x + dx, y + dy): +*/ + if (unlikely(__pyx_v_placed_squares == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); + __PYX_ERR(0, 667, __pyx_L1_error) + } + __pyx_t_5 = __pyx_v_placed_squares; __Pyx_INCREF(__pyx_t_5); + __pyx_t_16 = 0; + for (;;) { + { + Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5); + #if !CYTHON_ASSUME_SAFE_SIZE + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 667, __pyx_L1_error) + #endif + if (__pyx_t_16 >= __pyx_temp) break; + } + __pyx_t_2 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_5, __pyx_t_16, __Pyx_ReferenceSharing_OwnStrongReference); + ++__pyx_t_16; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 667, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) { + PyObject* sequence = __pyx_t_2; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 667, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_17 = PyTuple_GET_ITEM(sequence, 0); __Pyx_INCREF(__pyx_t_17); @@ -35719,22 +36312,22 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val __Pyx_INCREF(__pyx_t_18); } else { __pyx_t_17 = __Pyx_PyList_GET_ITEM_REF(sequence, 0, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 654, __pyx_L1_error) + if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 667, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_17); __pyx_t_18 = __Pyx_PyList_GET_ITEM_REF(sequence, 1, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 654, __pyx_L1_error) + if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 667, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_18); } #else - __pyx_t_17 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 654, __pyx_L1_error) + __pyx_t_17 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 654, __pyx_L1_error) + __pyx_t_18 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); #endif __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else { Py_ssize_t index = -1; - __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 654, __pyx_L1_error) + __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_19 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); @@ -35742,7 +36335,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val __Pyx_GOTREF(__pyx_t_17); index = 1; __pyx_t_18 = __pyx_t_19(__pyx_t_4); if (unlikely(!__pyx_t_18)) goto __pyx_L39_unpacking_failed; __Pyx_GOTREF(__pyx_t_18); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_19(__pyx_t_4), 2) < (0)) __PYX_ERR(0, 654, __pyx_L1_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_19(__pyx_t_4), 2) < (0)) __PYX_ERR(0, 667, __pyx_L1_error) __pyx_t_19 = NULL; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L40_unpacking_done; @@ -35750,17 +36343,17 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_19 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 654, __pyx_L1_error) + __PYX_ERR(0, 667, __pyx_L1_error) __pyx_L40_unpacking_done:; } - __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_t_17); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 654, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_t_17); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 667, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_10 = __Pyx_PyLong_As_int(__pyx_t_18); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 654, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyLong_As_int(__pyx_t_18); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 667, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_v_x = __pyx_t_9; __pyx_v_y = __pyx_t_10; - /* "blokus_gym/core/blokus_cython.pyx":655 + /* "blokus_cython.pyx":668 * edge_invalid = False * for x, y in placed_squares: * for dx, dy in [(-1, 0), (1, 0), (0, -1), (0, 1)]: # <<<<<<<<<<<<<< @@ -35777,7 +36370,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val __pyx_t_18 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_20); #endif ++__pyx_t_20; - if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 655, __pyx_L1_error) + if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (likely(__pyx_t_18 != Py_None)) { PyObject* sequence = __pyx_t_18; @@ -35785,7 +36378,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 655, __pyx_L1_error) + __PYX_ERR(0, 668, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_17 = PyTuple_GET_ITEM(sequence, 0); @@ -35793,21 +36386,21 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); __Pyx_INCREF(__pyx_t_4); #else - __pyx_t_17 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 655, __pyx_L1_error) + __pyx_t_17 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); - __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 655, __pyx_L1_error) + __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } else { - __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 655, __pyx_L1_error) + __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 668, __pyx_L1_error) } __Pyx_XDECREF_SET(__pyx_v_dx, __pyx_t_17); __pyx_t_17 = 0; __Pyx_XDECREF_SET(__pyx_v_dy, __pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":656 + /* "blokus_cython.pyx":669 * for x, y in placed_squares: * for dx, dy in [(-1, 0), (1, 0), (0, -1), (0, 1)]: * if self.board.in_bounds(x + dx, y + dy): # <<<<<<<<<<<<<< @@ -35816,14 +36409,14 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ __pyx_t_4 = __pyx_v_self->board; __Pyx_INCREF(__pyx_t_4); - __pyx_t_17 = __Pyx_PyLong_From_int(__pyx_v_x); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 656, __pyx_L1_error) + __pyx_t_17 = __Pyx_PyLong_From_int(__pyx_v_x); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); - __pyx_t_21 = PyNumber_Add(__pyx_t_17, __pyx_v_dx); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 656, __pyx_L1_error) + __pyx_t_21 = PyNumber_Add(__pyx_t_17, __pyx_v_dx); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyLong_From_int(__pyx_v_y); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 656, __pyx_L1_error) + __pyx_t_17 = __Pyx_PyLong_From_int(__pyx_v_y); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); - __pyx_t_22 = PyNumber_Add(__pyx_t_17, __pyx_v_dy); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 656, __pyx_L1_error) + __pyx_t_22 = PyNumber_Add(__pyx_t_17, __pyx_v_dy); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_6 = 0; @@ -35833,14 +36426,14 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 656, __pyx_L1_error) + if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); } - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely((__pyx_t_14 < 0))) __PYX_ERR(0, 656, __pyx_L1_error) + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely((__pyx_t_14 < 0))) __PYX_ERR(0, 669, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (__pyx_t_14) { - /* "blokus_gym/core/blokus_cython.pyx":657 + /* "blokus_cython.pyx":670 * for dx, dy in [(-1, 0), (1, 0), (0, -1), (0, 1)]: * if self.board.in_bounds(x + dx, y + dy): * if self.board.get_cell(x + dx, y + dy) == player_board_idx: # <<<<<<<<<<<<<< @@ -35849,14 +36442,14 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ __pyx_t_22 = __pyx_v_self->board; __Pyx_INCREF(__pyx_t_22); - __pyx_t_21 = __Pyx_PyLong_From_int(__pyx_v_x); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 657, __pyx_L1_error) + __pyx_t_21 = __Pyx_PyLong_From_int(__pyx_v_x); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 670, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_4 = PyNumber_Add(__pyx_t_21, __pyx_v_dx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 657, __pyx_L1_error) + __pyx_t_4 = PyNumber_Add(__pyx_t_21, __pyx_v_dx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 670, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __pyx_t_21 = __Pyx_PyLong_From_int(__pyx_v_y); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 657, __pyx_L1_error) + __pyx_t_21 = __Pyx_PyLong_From_int(__pyx_v_y); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 670, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_17 = PyNumber_Add(__pyx_t_21, __pyx_v_dy); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 657, __pyx_L1_error) + __pyx_t_17 = PyNumber_Add(__pyx_t_21, __pyx_v_dy); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 670, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_6 = 0; @@ -35866,19 +36459,19 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 657, __pyx_L1_error) + if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 670, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); } - __pyx_t_17 = __Pyx_PyLong_From_int(__pyx_v_player_board_idx); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 657, __pyx_L1_error) + __pyx_t_17 = __Pyx_PyLong_From_int(__pyx_v_player_board_idx); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 670, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); - __pyx_t_4 = PyObject_RichCompare(__pyx_t_18, __pyx_t_17, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 657, __pyx_L1_error) + __pyx_t_4 = PyObject_RichCompare(__pyx_t_18, __pyx_t_17, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 670, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_14 < 0))) __PYX_ERR(0, 657, __pyx_L1_error) + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_14 < 0))) __PYX_ERR(0, 670, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_14) { - /* "blokus_gym/core/blokus_cython.pyx":658 + /* "blokus_cython.pyx":671 * if self.board.in_bounds(x + dx, y + dy): * if self.board.get_cell(x + dx, y + dy) == player_board_idx: * edge_invalid = True # <<<<<<<<<<<<<< @@ -35887,7 +36480,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ __pyx_v_edge_invalid = 1; - /* "blokus_gym/core/blokus_cython.pyx":659 + /* "blokus_cython.pyx":672 * if self.board.get_cell(x + dx, y + dy) == player_board_idx: * edge_invalid = True * break # <<<<<<<<<<<<<< @@ -35896,7 +36489,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ goto __pyx_L42_break; - /* "blokus_gym/core/blokus_cython.pyx":657 + /* "blokus_cython.pyx":670 * for dx, dy in [(-1, 0), (1, 0), (0, -1), (0, 1)]: * if self.board.in_bounds(x + dx, y + dy): * if self.board.get_cell(x + dx, y + dy) == player_board_idx: # <<<<<<<<<<<<<< @@ -35905,7 +36498,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ } - /* "blokus_gym/core/blokus_cython.pyx":656 + /* "blokus_cython.pyx":669 * for x, y in placed_squares: * for dx, dy in [(-1, 0), (1, 0), (0, -1), (0, 1)]: * if self.board.in_bounds(x + dx, y + dy): # <<<<<<<<<<<<<< @@ -35914,7 +36507,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ } - /* "blokus_gym/core/blokus_cython.pyx":655 + /* "blokus_cython.pyx":668 * edge_invalid = False * for x, y in placed_squares: * for dx, dy in [(-1, 0), (1, 0), (0, -1), (0, 1)]: # <<<<<<<<<<<<<< @@ -35929,7 +36522,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val goto __pyx_L45_for_end; __pyx_L45_for_end:; - /* "blokus_gym/core/blokus_cython.pyx":660 + /* "blokus_cython.pyx":673 * edge_invalid = True * break * if edge_invalid: # <<<<<<<<<<<<<< @@ -35938,7 +36531,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ if (__pyx_v_edge_invalid) { - /* "blokus_gym/core/blokus_cython.pyx":661 + /* "blokus_cython.pyx":674 * break * if edge_invalid: * break # <<<<<<<<<<<<<< @@ -35947,7 +36540,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ goto __pyx_L38_break; - /* "blokus_gym/core/blokus_cython.pyx":660 + /* "blokus_cython.pyx":673 * edge_invalid = True * break * if edge_invalid: # <<<<<<<<<<<<<< @@ -35956,7 +36549,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ } - /* "blokus_gym/core/blokus_cython.pyx":654 + /* "blokus_cython.pyx":667 * # Check edge adjacency (inline for speed) * edge_invalid = False * for x, y in placed_squares: # <<<<<<<<<<<<<< @@ -35971,7 +36564,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val goto __pyx_L47_for_end; __pyx_L47_for_end:; - /* "blokus_gym/core/blokus_cython.pyx":663 + /* "blokus_cython.pyx":676 * break * * if not edge_invalid: # <<<<<<<<<<<<<< @@ -35981,16 +36574,16 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val __pyx_t_14 = (!__pyx_v_edge_invalid); if (__pyx_t_14) { - /* "blokus_gym/core/blokus_cython.pyx":664 + /* "blokus_cython.pyx":677 * * if not edge_invalid: * mask[action_idx] = True # <<<<<<<<<<<<<< * * return mask */ - if (unlikely((__Pyx_SetItemInt(((PyObject *)__pyx_v_mask), __pyx_v_action_idx, Py_True, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference) < 0))) __PYX_ERR(0, 664, __pyx_L1_error) + if (unlikely((__Pyx_SetItemInt(((PyObject *)__pyx_v_mask), __pyx_v_action_idx, Py_True, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference) < 0))) __PYX_ERR(0, 677, __pyx_L1_error) - /* "blokus_gym/core/blokus_cython.pyx":663 + /* "blokus_cython.pyx":676 * break * * if not edge_invalid: # <<<<<<<<<<<<<< @@ -35999,7 +36592,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val */ } - /* "blokus_gym/core/blokus_cython.pyx":624 + /* "blokus_cython.pyx":637 * * for piece_id in available_piece_ids: * for action_idx in self._actions_by_piece[piece_id]: # <<<<<<<<<<<<<< @@ -36010,7 +36603,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":623 + /* "blokus_cython.pyx":636 * player_occupied = self.board.get_player_occupied(player_idx + 1) * * for piece_id in available_piece_ids: # <<<<<<<<<<<<<< @@ -36020,7 +36613,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":666 + /* "blokus_cython.pyx":679 * mask[action_idx] = True * * return mask # <<<<<<<<<<<<<< @@ -36032,7 +36625,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val __pyx_r = ((PyObject *)__pyx_v_mask); goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":592 + /* "blokus_cython.pyx":605 * return True * * cpdef get_valid_actions(self, int player_idx): # <<<<<<<<<<<<<< @@ -36051,7 +36644,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val __Pyx_XDECREF(__pyx_t_18); __Pyx_XDECREF(__pyx_t_21); __Pyx_XDECREF(__pyx_t_22); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.get_valid_actions", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.get_valid_actions", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_player); @@ -36070,16 +36663,16 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_val } /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_11get_valid_actions(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_15get_valid_actions(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -PyDoc_STRVAR(__pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_10get_valid_actions, "Get a boolean mask of valid actions for the given player."); -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_11get_valid_actions = {"get_valid_actions", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_11get_valid_actions, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_10get_valid_actions}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_11get_valid_actions(PyObject *__pyx_v_self, +PyDoc_STRVAR(__pyx_doc_13blokus_cython_10BlokusGame_14get_valid_actions, "Get a boolean mask of valid actions for the given player."); +static PyMethodDef __pyx_mdef_13blokus_cython_10BlokusGame_15get_valid_actions = {"get_valid_actions", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_15get_valid_actions, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_10BlokusGame_14get_valid_actions}; +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_15get_valid_actions(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -36109,43 +36702,43 @@ PyObject *__pyx_args, PyObject *__pyx_kwds { PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_player_idx,0}; const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(0, 592, __pyx_L3_error) + if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(0, 605, __pyx_L3_error) if (__pyx_kwds_len > 0) { switch (__pyx_nargs) { case 1: values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 592, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 605, __pyx_L3_error) CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_valid_actions", 0) < (0)) __PYX_ERR(0, 592, __pyx_L3_error) + if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_valid_actions", 0) < (0)) __PYX_ERR(0, 605, __pyx_L3_error) for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_valid_actions", 1, 1, 1, i); __PYX_ERR(0, 592, __pyx_L3_error) } + if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_valid_actions", 1, 1, 1, i); __PYX_ERR(0, 605, __pyx_L3_error) } } } else if (unlikely(__pyx_nargs != 1)) { goto __pyx_L5_argtuple_error; } else { values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 592, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 605, __pyx_L3_error) } - __pyx_v_player_idx = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_player_idx == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 592, __pyx_L3_error) + __pyx_v_player_idx = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_player_idx == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 605, __pyx_L3_error) } goto __pyx_L6_skip; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("get_valid_actions", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 592, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_valid_actions", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 605, __pyx_L3_error) __pyx_L6_skip:; goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.get_valid_actions", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.get_valid_actions", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_10get_valid_actions(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self), __pyx_v_player_idx); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_14get_valid_actions(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self), __pyx_v_player_idx); /* function exit code */ for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { @@ -36155,7 +36748,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_10get_valid_actions(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx) { +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_14get_valid_actions(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -36164,7 +36757,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_10get_ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("get_valid_actions", 0); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_valid_actions(__pyx_v_self, __pyx_v_player_idx, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 592, __pyx_L1_error) + __pyx_t_1 = __pyx_f_13blokus_cython_10BlokusGame_get_valid_actions(__pyx_v_self, __pyx_v_player_idx, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; @@ -36173,7 +36766,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_10get_ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.get_valid_actions", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.get_valid_actions", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -36181,7 +36774,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_10get_ return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":668 +/* "blokus_cython.pyx":681 * return mask * * cpdef bint has_valid_moves(self, int player_idx): # <<<<<<<<<<<<<< @@ -36189,15 +36782,15 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_10get_ * cdef PlayerState player = self.players[player_idx] */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_13has_valid_moves(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_17has_valid_moves(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_moves(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx, int __pyx_skip_dispatch) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_player = 0; +static int __pyx_f_13blokus_cython_10BlokusGame_has_valid_moves(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx, int __pyx_skip_dispatch) { + struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_player = 0; PyObject *__pyx_v_available_piece_ids = 0; int __pyx_v_piece_id; int __pyx_v_action_idx; @@ -36226,7 +36819,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_mov /* Check if overridden in Python */ else if ( #if !CYTHON_USE_TYPE_SLOTS - unlikely(Py_TYPE(((PyObject *)__pyx_v_self)) != __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame && + unlikely(Py_TYPE(((PyObject *)__pyx_v_self)) != __pyx_mstate_global->__pyx_ptype_13blokus_cython_BlokusGame && __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), Py_TPFLAGS_HAVE_GC)) #else unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0 || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE))) @@ -36237,13 +36830,13 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_mov if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) { PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self)); #endif - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_has_valid_moves); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 668, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_has_valid_moves); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (!__Pyx_IsSameCFunction(__pyx_t_1, (void(*)(void)) __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_13has_valid_moves)) { + if (!__Pyx_IsSameCFunction(__pyx_t_1, (void(*)(void)) __pyx_pw_13blokus_cython_10BlokusGame_17has_valid_moves)) { __pyx_t_3 = NULL; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = __pyx_t_1; - __pyx_t_5 = __Pyx_PyLong_From_int(__pyx_v_player_idx); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 668, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyLong_From_int(__pyx_v_player_idx); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = 1; #if CYTHON_UNPACK_METHODS @@ -36263,10 +36856,10 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_mov __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 668, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); } - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 668, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 681, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_r = __pyx_t_7; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -36285,7 +36878,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_mov #endif } - /* "blokus_gym/core/blokus_cython.pyx":670 + /* "blokus_cython.pyx":683 * cpdef bint has_valid_moves(self, int player_idx): * """Check if a player has any valid moves.""" * cdef PlayerState player = self.players[player_idx] # <<<<<<<<<<<<<< @@ -36294,27 +36887,27 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_mov */ if (unlikely(__pyx_v_self->players == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 670, __pyx_L1_error) + __PYX_ERR(0, 683, __pyx_L1_error) } - __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_self->players, __pyx_v_player_idx, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 670, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_self->players, __pyx_v_player_idx, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 683, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PlayerState))))) __PYX_ERR(0, 670, __pyx_L1_error) - __pyx_v_player = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_13blokus_cython_PlayerState))))) __PYX_ERR(0, 683, __pyx_L1_error) + __pyx_v_player = ((struct __pyx_obj_13blokus_cython_PlayerState *)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":671 + /* "blokus_cython.pyx":684 * """Check if a player has any valid moves.""" * cdef PlayerState player = self.players[player_idx] * cdef list available_piece_ids = [] # <<<<<<<<<<<<<< * cdef int piece_id, action_idx * */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 671, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_available_piece_ids = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":675 + /* "blokus_cython.pyx":688 * * # Build available_piece_ids list * for name in player.available_pieces: # <<<<<<<<<<<<<< @@ -36322,7 +36915,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_mov * */ __pyx_t_8 = 0; - __pyx_t_2 = __Pyx_set_iterator(__pyx_v_player->available_pieces, 1, (&__pyx_t_9), (&__pyx_t_10)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 675, __pyx_L1_error) + __pyx_t_2 = __Pyx_set_iterator(__pyx_v_player->available_pieces, 1, (&__pyx_t_9), (&__pyx_t_10)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 688, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = __pyx_t_2; @@ -36330,12 +36923,12 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_mov while (1) { __pyx_t_11 = __Pyx_set_iter_next(__pyx_t_1, __pyx_t_9, &__pyx_t_8, &__pyx_t_2, __pyx_t_10); if (unlikely(__pyx_t_11 == 0)) break; - if (unlikely(__pyx_t_11 == -1)) __PYX_ERR(0, 675, __pyx_L1_error) + if (unlikely(__pyx_t_11 == -1)) __PYX_ERR(0, 688, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_2); __pyx_t_2 = 0; - /* "blokus_gym/core/blokus_cython.pyx":676 + /* "blokus_cython.pyx":689 * # Build available_piece_ids list * for name in player.available_pieces: * available_piece_ids.append(self.piece_set.get_piece_id(name)) # <<<<<<<<<<<<<< @@ -36349,15 +36942,15 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_mov PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_name}; __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_piece_id, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 676, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 689, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); } - __pyx_t_12 = __Pyx_PyList_Append(__pyx_v_available_piece_ids, __pyx_t_2); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(0, 676, __pyx_L1_error) + __pyx_t_12 = __Pyx_PyList_Append(__pyx_v_available_piece_ids, __pyx_t_2); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(0, 689, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":678 + /* "blokus_cython.pyx":691 * available_piece_ids.append(self.piece_set.get_piece_id(name)) * * if not player.can_move: # <<<<<<<<<<<<<< @@ -36367,7 +36960,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_mov __pyx_t_7 = (!__pyx_v_player->can_move); if (__pyx_t_7) { - /* "blokus_gym/core/blokus_cython.pyx":679 + /* "blokus_cython.pyx":692 * * if not player.can_move: * return False # <<<<<<<<<<<<<< @@ -36377,7 +36970,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_mov __pyx_r = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":678 + /* "blokus_cython.pyx":691 * available_piece_ids.append(self.piece_set.get_piece_id(name)) * * if not player.can_move: # <<<<<<<<<<<<<< @@ -36386,7 +36979,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_mov */ } - /* "blokus_gym/core/blokus_cython.pyx":681 + /* "blokus_cython.pyx":694 * return False * * for piece_id in available_piece_ids: # <<<<<<<<<<<<<< @@ -36399,19 +36992,19 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_mov { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 681, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 694, __pyx_L1_error) #endif if (__pyx_t_9 >= __pyx_temp) break; } __pyx_t_2 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_1, __pyx_t_9, __Pyx_ReferenceSharing_OwnStrongReference); ++__pyx_t_9; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 681, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 694, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyLong_As_int(__pyx_t_2); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 681, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyLong_As_int(__pyx_t_2); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 694, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_piece_id = __pyx_t_10; - /* "blokus_gym/core/blokus_cython.pyx":682 + /* "blokus_cython.pyx":695 * * for piece_id in available_piece_ids: * for action_idx in self._actions_by_piece[piece_id]: # <<<<<<<<<<<<<< @@ -36420,18 +37013,18 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_mov */ if (unlikely(__pyx_v_self->_actions_by_piece == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 682, __pyx_L1_error) + __PYX_ERR(0, 695, __pyx_L1_error) } - __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_self->_actions_by_piece, __pyx_v_piece_id, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 682, __pyx_L1_error) + __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_self->_actions_by_piece, __pyx_v_piece_id, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_4 = __pyx_t_2; __Pyx_INCREF(__pyx_t_4); __pyx_t_8 = 0; __pyx_t_13 = NULL; } else { - __pyx_t_8 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 682, __pyx_L1_error) + __pyx_t_8 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_13 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 682, __pyx_L1_error) + __pyx_t_13 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 695, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { @@ -36440,7 +37033,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_mov { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 682, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 695, __pyx_L1_error) #endif if (__pyx_t_8 >= __pyx_temp) break; } @@ -36450,7 +37043,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_mov { Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 682, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 695, __pyx_L1_error) #endif if (__pyx_t_8 >= __pyx_temp) break; } @@ -36461,24 +37054,24 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_mov #endif ++__pyx_t_8; } - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 682, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 695, __pyx_L1_error) } else { __pyx_t_2 = __pyx_t_13(__pyx_t_4); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 682, __pyx_L1_error) + if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 695, __pyx_L1_error) PyErr_Clear(); } break; } } __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyLong_As_int(__pyx_t_2); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 682, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyLong_As_int(__pyx_t_2); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 695, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_action_idx = __pyx_t_10; - /* "blokus_gym/core/blokus_cython.pyx":683 + /* "blokus_cython.pyx":696 * for piece_id in available_piece_ids: * for action_idx in self._actions_by_piece[piece_id]: * if self.valid_move(player_idx, self._action_moves[action_idx]): # <<<<<<<<<<<<<< @@ -36487,16 +37080,16 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_mov */ if (unlikely(__pyx_v_self->_action_moves == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 683, __pyx_L1_error) + __PYX_ERR(0, 696, __pyx_L1_error) } - __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_self->_action_moves, __pyx_v_action_idx, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 683, __pyx_L1_error) + __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_self->_action_moves, __pyx_v_action_idx, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 696, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Move))))) __PYX_ERR(0, 683, __pyx_L1_error) - __pyx_t_7 = ((struct __pyx_vtabstruct_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->valid_move(__pyx_v_self, __pyx_v_player_idx, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *)__pyx_t_2), 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 683, __pyx_L1_error) + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_13blokus_cython_Move))))) __PYX_ERR(0, 696, __pyx_L1_error) + __pyx_t_7 = ((struct __pyx_vtabstruct_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->valid_move(__pyx_v_self, __pyx_v_player_idx, ((struct __pyx_obj_13blokus_cython_Move *)__pyx_t_2), 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 696, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_7) { - /* "blokus_gym/core/blokus_cython.pyx":684 + /* "blokus_cython.pyx":697 * for action_idx in self._actions_by_piece[piece_id]: * if self.valid_move(player_idx, self._action_moves[action_idx]): * return True # <<<<<<<<<<<<<< @@ -36508,7 +37101,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_mov __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":683 + /* "blokus_cython.pyx":696 * for piece_id in available_piece_ids: * for action_idx in self._actions_by_piece[piece_id]: * if self.valid_move(player_idx, self._action_moves[action_idx]): # <<<<<<<<<<<<<< @@ -36517,7 +37110,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_mov */ } - /* "blokus_gym/core/blokus_cython.pyx":682 + /* "blokus_cython.pyx":695 * * for piece_id in available_piece_ids: * for action_idx in self._actions_by_piece[piece_id]: # <<<<<<<<<<<<<< @@ -36527,7 +37120,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_mov } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":681 + /* "blokus_cython.pyx":694 * return False * * for piece_id in available_piece_ids: # <<<<<<<<<<<<<< @@ -36537,7 +37130,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_mov } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":685 + /* "blokus_cython.pyx":698 * if self.valid_move(player_idx, self._action_moves[action_idx]): * return True * return False # <<<<<<<<<<<<<< @@ -36547,7 +37140,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_mov __pyx_r = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":668 + /* "blokus_cython.pyx":681 * return mask * * cpdef bint has_valid_moves(self, int player_idx): # <<<<<<<<<<<<<< @@ -36562,7 +37155,7 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_mov __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.has_valid_moves", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.has_valid_moves", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_player); @@ -36573,16 +37166,16 @@ static int __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_mov } /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_13has_valid_moves(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_17has_valid_moves(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -PyDoc_STRVAR(__pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_12has_valid_moves, "Check if a player has any valid moves."); -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_13has_valid_moves = {"has_valid_moves", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_13has_valid_moves, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_12has_valid_moves}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_13has_valid_moves(PyObject *__pyx_v_self, +PyDoc_STRVAR(__pyx_doc_13blokus_cython_10BlokusGame_16has_valid_moves, "Check if a player has any valid moves."); +static PyMethodDef __pyx_mdef_13blokus_cython_10BlokusGame_17has_valid_moves = {"has_valid_moves", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_17has_valid_moves, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_10BlokusGame_16has_valid_moves}; +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_17has_valid_moves(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -36612,43 +37205,43 @@ PyObject *__pyx_args, PyObject *__pyx_kwds { PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_player_idx,0}; const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(0, 668, __pyx_L3_error) + if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(0, 681, __pyx_L3_error) if (__pyx_kwds_len > 0) { switch (__pyx_nargs) { case 1: values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 668, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 681, __pyx_L3_error) CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "has_valid_moves", 0) < (0)) __PYX_ERR(0, 668, __pyx_L3_error) + if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "has_valid_moves", 0) < (0)) __PYX_ERR(0, 681, __pyx_L3_error) for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("has_valid_moves", 1, 1, 1, i); __PYX_ERR(0, 668, __pyx_L3_error) } + if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("has_valid_moves", 1, 1, 1, i); __PYX_ERR(0, 681, __pyx_L3_error) } } } else if (unlikely(__pyx_nargs != 1)) { goto __pyx_L5_argtuple_error; } else { values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 668, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 681, __pyx_L3_error) } - __pyx_v_player_idx = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_player_idx == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 668, __pyx_L3_error) + __pyx_v_player_idx = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_player_idx == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 681, __pyx_L3_error) } goto __pyx_L6_skip; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("has_valid_moves", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 668, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("has_valid_moves", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 681, __pyx_L3_error) __pyx_L6_skip:; goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.has_valid_moves", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.has_valid_moves", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_12has_valid_moves(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self), __pyx_v_player_idx); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_16has_valid_moves(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self), __pyx_v_player_idx); /* function exit code */ for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { @@ -36658,7 +37251,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_12has_valid_moves(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx) { +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_16has_valid_moves(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; @@ -36668,8 +37261,8 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_12has_ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("has_valid_moves", 0); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_moves(__pyx_v_self, __pyx_v_player_idx, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 668, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 668, __pyx_L1_error) + __pyx_t_1 = __pyx_f_13blokus_cython_10BlokusGame_has_valid_moves(__pyx_v_self, __pyx_v_player_idx, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 681, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; @@ -36678,7 +37271,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_12has_ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.has_valid_moves", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.has_valid_moves", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -36686,7 +37279,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_12has_ return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":687 +/* "blokus_cython.pyx":700 * return False * * def apply_move(self, int player_idx, Move move) -> None: # <<<<<<<<<<<<<< @@ -36695,16 +37288,16 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_12has_ */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_15apply_move(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_19apply_move(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -PyDoc_STRVAR(__pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_14apply_move, "Apply a move to the game state. Does not validate."); -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_15apply_move = {"apply_move", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_15apply_move, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_14apply_move}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_15apply_move(PyObject *__pyx_v_self, +PyDoc_STRVAR(__pyx_doc_13blokus_cython_10BlokusGame_18apply_move, "Apply a move to the game state. Does not validate."); +static PyMethodDef __pyx_mdef_13blokus_cython_10BlokusGame_19apply_move = {"apply_move", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_19apply_move, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_10BlokusGame_18apply_move}; +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_19apply_move(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -36712,7 +37305,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds #endif ) { int __pyx_v_player_idx; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_move = 0; + struct __pyx_obj_13blokus_cython_Move *__pyx_v_move = 0; #if !CYTHON_METH_FASTCALL CYTHON_UNUSED Py_ssize_t __pyx_nargs; #endif @@ -36735,51 +37328,51 @@ PyObject *__pyx_args, PyObject *__pyx_kwds { PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_player_idx,&__pyx_mstate_global->__pyx_n_u_move,0}; const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(0, 687, __pyx_L3_error) + if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(0, 700, __pyx_L3_error) if (__pyx_kwds_len > 0) { switch (__pyx_nargs) { case 2: values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 687, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 700, __pyx_L3_error) CYTHON_FALLTHROUGH; case 1: values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 687, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 700, __pyx_L3_error) CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "apply_move", 0) < (0)) __PYX_ERR(0, 687, __pyx_L3_error) + if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "apply_move", 0) < (0)) __PYX_ERR(0, 700, __pyx_L3_error) for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("apply_move", 1, 2, 2, i); __PYX_ERR(0, 687, __pyx_L3_error) } + if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("apply_move", 1, 2, 2, i); __PYX_ERR(0, 700, __pyx_L3_error) } } } else if (unlikely(__pyx_nargs != 2)) { goto __pyx_L5_argtuple_error; } else { values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 687, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 700, __pyx_L3_error) values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 687, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 700, __pyx_L3_error) } - __pyx_v_player_idx = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_player_idx == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 687, __pyx_L3_error) - __pyx_v_move = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *)values[1]); + __pyx_v_player_idx = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_player_idx == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 700, __pyx_L3_error) + __pyx_v_move = ((struct __pyx_obj_13blokus_cython_Move *)values[1]); } goto __pyx_L6_skip; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("apply_move", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 687, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("apply_move", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 700, __pyx_L3_error) __pyx_L6_skip:; goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.apply_move", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.apply_move", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_move), __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Move, 1, "move", 0))) __PYX_ERR(0, 687, __pyx_L1_error) - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14apply_move(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self), __pyx_v_player_idx, __pyx_v_move); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_move), __pyx_mstate_global->__pyx_ptype_13blokus_cython_Move, 1, "move", 0))) __PYX_ERR(0, 700, __pyx_L1_error) + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_18apply_move(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self), __pyx_v_player_idx, __pyx_v_move); /* function exit code */ goto __pyx_L0; @@ -36798,9 +37391,9 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14apply_move(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx, struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_move) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_player = 0; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v_piece = 0; +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_18apply_move(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx, struct __pyx_obj_13blokus_cython_Move *__pyx_v_move) { + struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_player = 0; + struct __pyx_obj_13blokus_cython_Piece *__pyx_v_piece = 0; PyObject *__pyx_v_placed_squares = 0; int __pyx_v_x; int __pyx_v_y; @@ -36825,7 +37418,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl int __pyx_clineno = 0; __Pyx_RefNannySetupContext("apply_move", 0); - /* "blokus_gym/core/blokus_cython.pyx":689 + /* "blokus_cython.pyx":702 * def apply_move(self, int player_idx, Move move) -> None: * """Apply a move to the game state. Does not validate.""" * cdef PlayerState player = self.players[player_idx] # <<<<<<<<<<<<<< @@ -36834,15 +37427,15 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl */ if (unlikely(__pyx_v_self->players == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 689, __pyx_L1_error) + __PYX_ERR(0, 702, __pyx_L1_error) } - __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_self->players, __pyx_v_player_idx, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 689, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_self->players, __pyx_v_player_idx, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 702, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PlayerState))))) __PYX_ERR(0, 689, __pyx_L1_error) - __pyx_v_player = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_13blokus_cython_PlayerState))))) __PYX_ERR(0, 702, __pyx_L1_error) + __pyx_v_player = ((struct __pyx_obj_13blokus_cython_PlayerState *)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":690 + /* "blokus_cython.pyx":703 * """Apply a move to the game state. Does not validate.""" * cdef PlayerState player = self.players[player_idx] * cdef Piece piece = self.piece_set.get_piece(move.piece_id) # <<<<<<<<<<<<<< @@ -36851,7 +37444,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl */ __pyx_t_2 = ((PyObject *)__pyx_v_self->piece_set); __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_move->piece_id); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 690, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_move->piece_id); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 703, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = 0; { @@ -36859,26 +37452,26 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_piece, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 690, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 703, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece))))) __PYX_ERR(0, 690, __pyx_L1_error) - __pyx_v_piece = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece))))) __PYX_ERR(0, 703, __pyx_L1_error) + __pyx_v_piece = ((struct __pyx_obj_13blokus_cython_Piece *)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":691 + /* "blokus_cython.pyx":704 * cdef PlayerState player = self.players[player_idx] * cdef Piece piece = self.piece_set.get_piece(move.piece_id) * cdef list placed_squares = self._get_placed_squares(move) # <<<<<<<<<<<<<< * cdef int x, y * */ - __pyx_t_1 = ((struct __pyx_vtabstruct_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->_get_placed_squares(__pyx_v_self, __pyx_v_move); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 691, __pyx_L1_error) + __pyx_t_1 = ((struct __pyx_vtabstruct_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->_get_placed_squares(__pyx_v_self, __pyx_v_move); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 704, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_placed_squares = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":695 + /* "blokus_cython.pyx":708 * * # Place the piece * self.board.place(player_idx + 1, placed_squares) # <<<<<<<<<<<<<< @@ -36887,7 +37480,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl */ __pyx_t_3 = __pyx_v_self->board; __Pyx_INCREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyLong_From_long((__pyx_v_player_idx + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 695, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyLong_From_long((__pyx_v_player_idx + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 708, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = 0; { @@ -36895,12 +37488,12 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_place, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 695, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 708, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":698 + /* "blokus_cython.pyx":711 * * # Update player state * player.available_pieces.discard(piece.name) # <<<<<<<<<<<<<< @@ -36909,33 +37502,33 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl */ if (unlikely(__pyx_v_player->available_pieces == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "discard"); - __PYX_ERR(0, 698, __pyx_L1_error) + __PYX_ERR(0, 711, __pyx_L1_error) } __pyx_t_1 = __pyx_v_piece->name; __Pyx_INCREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PySet_Discard(__pyx_v_player->available_pieces, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 698, __pyx_L1_error) + __pyx_t_5 = __Pyx_PySet_Discard(__pyx_v_player->available_pieces, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 711, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":699 + /* "blokus_cython.pyx":712 * # Update player state * player.available_pieces.discard(piece.name) * player.score += piece.size # <<<<<<<<<<<<<< * * # Update corners */ - __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_player->score); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 699, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_player->score); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_piece), __pyx_mstate_global->__pyx_n_u_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 699, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_piece), __pyx_mstate_global->__pyx_n_u_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 699, __pyx_L1_error) + __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_6 = __Pyx_PyLong_As_int(__pyx_t_3); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 699, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyLong_As_int(__pyx_t_3); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 712, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_player->score = __pyx_t_6; - /* "blokus_gym/core/blokus_cython.pyx":702 + /* "blokus_cython.pyx":715 * * # Update corners * if not player.has_started: # <<<<<<<<<<<<<< @@ -36945,7 +37538,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl __pyx_t_7 = (!__pyx_v_player->has_started); if (__pyx_t_7) { - /* "blokus_gym/core/blokus_cython.pyx":703 + /* "blokus_cython.pyx":716 * # Update corners * if not player.has_started: * player.has_started = True # <<<<<<<<<<<<<< @@ -36954,14 +37547,14 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl */ __pyx_v_player->has_started = 1; - /* "blokus_gym/core/blokus_cython.pyx":704 + /* "blokus_cython.pyx":717 * if not player.has_started: * player.has_started = True * player.corners = set() # <<<<<<<<<<<<<< * * # Add new corners */ - __pyx_t_3 = PySet_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 704, __pyx_L1_error) + __pyx_t_3 = PySet_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 717, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __Pyx_GOTREF(__pyx_v_player->corners); @@ -36969,7 +37562,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl __pyx_v_player->corners = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":702 + /* "blokus_cython.pyx":715 * * # Update corners * if not player.has_started: # <<<<<<<<<<<<<< @@ -36978,19 +37571,19 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl */ } - /* "blokus_gym/core/blokus_cython.pyx":707 + /* "blokus_cython.pyx":720 * * # Add new corners * cdef list placed_corners = self._get_placed_corners(move) # <<<<<<<<<<<<<< * for x, y in placed_corners: * if self.board.in_bounds(x, y) and self.board.is_empty(x, y): */ - __pyx_t_3 = ((struct __pyx_vtabstruct_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->_get_placed_corners(__pyx_v_self, __pyx_v_move); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 707, __pyx_L1_error) + __pyx_t_3 = ((struct __pyx_vtabstruct_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->_get_placed_corners(__pyx_v_self, __pyx_v_move); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 720, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_placed_corners = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":708 + /* "blokus_cython.pyx":721 * # Add new corners * cdef list placed_corners = self._get_placed_corners(move) * for x, y in placed_corners: # <<<<<<<<<<<<<< @@ -36999,7 +37592,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl */ if (unlikely(__pyx_v_placed_corners == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 708, __pyx_L1_error) + __PYX_ERR(0, 721, __pyx_L1_error) } __pyx_t_3 = __pyx_v_placed_corners; __Pyx_INCREF(__pyx_t_3); __pyx_t_8 = 0; @@ -37007,13 +37600,13 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 708, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 721, __pyx_L1_error) #endif if (__pyx_t_8 >= __pyx_temp) break; } __pyx_t_2 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_3, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference); ++__pyx_t_8; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 708, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 721, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) { PyObject* sequence = __pyx_t_2; @@ -37021,7 +37614,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 708, __pyx_L1_error) + __PYX_ERR(0, 721, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { @@ -37031,22 +37624,22 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl __Pyx_INCREF(__pyx_t_9); } else { __pyx_t_1 = __Pyx_PyList_GET_ITEM_REF(sequence, 0, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 708, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 721, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_1); __pyx_t_9 = __Pyx_PyList_GET_ITEM_REF(sequence, 1, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 708, __pyx_L1_error) + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 721, __pyx_L1_error) __Pyx_XGOTREF(__pyx_t_9); } #else - __pyx_t_1 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 708, __pyx_L1_error) + __pyx_t_1 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 721, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_9 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 708, __pyx_L1_error) + __pyx_t_9 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 721, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else { Py_ssize_t index = -1; - __pyx_t_10 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 708, __pyx_L1_error) + __pyx_t_10 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 721, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_11 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_10); @@ -37054,7 +37647,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl __Pyx_GOTREF(__pyx_t_1); index = 1; __pyx_t_9 = __pyx_t_11(__pyx_t_10); if (unlikely(!__pyx_t_9)) goto __pyx_L6_unpacking_failed; __Pyx_GOTREF(__pyx_t_9); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_10), 2) < (0)) __PYX_ERR(0, 708, __pyx_L1_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_10), 2) < (0)) __PYX_ERR(0, 721, __pyx_L1_error) __pyx_t_11 = NULL; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; goto __pyx_L7_unpacking_done; @@ -37062,17 +37655,17 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_11 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 708, __pyx_L1_error) + __PYX_ERR(0, 721, __pyx_L1_error) __pyx_L7_unpacking_done:; } - __pyx_t_6 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 708, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 721, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_12 = __Pyx_PyLong_As_int(__pyx_t_9); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 708, __pyx_L1_error) + __pyx_t_12 = __Pyx_PyLong_As_int(__pyx_t_9); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 721, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_v_x = __pyx_t_6; __pyx_v_y = __pyx_t_12; - /* "blokus_gym/core/blokus_cython.pyx":709 + /* "blokus_cython.pyx":722 * cdef list placed_corners = self._get_placed_corners(move) * for x, y in placed_corners: * if self.board.in_bounds(x, y) and self.board.is_empty(x, y): # <<<<<<<<<<<<<< @@ -37081,9 +37674,9 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl */ __pyx_t_9 = __pyx_v_self->board; __Pyx_INCREF(__pyx_t_9); - __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 709, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_PyLong_From_int(__pyx_v_y); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 709, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyLong_From_int(__pyx_v_y); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_4 = 0; { @@ -37092,10 +37685,10 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 709, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); } - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 709, __pyx_L1_error) + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_13) { } else { @@ -37104,9 +37697,9 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl } __pyx_t_10 = __pyx_v_self->board; __Pyx_INCREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 709, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_9 = __Pyx_PyLong_From_int(__pyx_v_y); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 709, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyLong_From_int(__pyx_v_y); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_4 = 0; { @@ -37115,16 +37708,16 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 709, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); } - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 709, __pyx_L1_error) + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_7 = __pyx_t_13; __pyx_L9_bool_binop_done:; if (__pyx_t_7) { - /* "blokus_gym/core/blokus_cython.pyx":710 + /* "blokus_cython.pyx":723 * for x, y in placed_corners: * if self.board.in_bounds(x, y) and self.board.is_empty(x, y): * player.corners.add((x, y)) # <<<<<<<<<<<<<< @@ -37133,24 +37726,24 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl */ if (unlikely(__pyx_v_player->corners == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "add"); - __PYX_ERR(0, 710, __pyx_L1_error) + __PYX_ERR(0, 723, __pyx_L1_error) } - __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 710, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 723, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_9 = __Pyx_PyLong_From_int(__pyx_v_y); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 710, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyLong_From_int(__pyx_v_y); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 723, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 710, __pyx_L1_error) + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 723, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 710, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 723, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_9); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_9) != (0)) __PYX_ERR(0, 710, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_9) != (0)) __PYX_ERR(0, 723, __pyx_L1_error); __pyx_t_2 = 0; __pyx_t_9 = 0; - __pyx_t_5 = PySet_Add(__pyx_v_player->corners, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 710, __pyx_L1_error) + __pyx_t_5 = PySet_Add(__pyx_v_player->corners, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 723, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":709 + /* "blokus_cython.pyx":722 * cdef list placed_corners = self._get_placed_corners(move) * for x, y in placed_corners: * if self.board.in_bounds(x, y) and self.board.is_empty(x, y): # <<<<<<<<<<<<<< @@ -37159,7 +37752,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl */ } - /* "blokus_gym/core/blokus_cython.pyx":708 + /* "blokus_cython.pyx":721 * # Add new corners * cdef list placed_corners = self._get_placed_corners(move) * for x, y in placed_corners: # <<<<<<<<<<<<<< @@ -37169,7 +37762,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":713 + /* "blokus_cython.pyx":726 * * # Check game over * self._check_game_over() # <<<<<<<<<<<<<< @@ -37183,12 +37776,12 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL}; __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_check_game_over, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 713, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 726, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":687 + /* "blokus_cython.pyx":700 * return False * * def apply_move(self, int player_idx, Move move) -> None: # <<<<<<<<<<<<<< @@ -37205,7 +37798,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.apply_move", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.apply_move", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_player); @@ -37217,7 +37810,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":715 +/* "blokus_cython.pyx":728 * self._check_game_over() * * def play_move(self, int player_idx, int action) -> bint: # <<<<<<<<<<<<<< @@ -37226,16 +37819,16 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14appl */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_17play_move(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_21play_move(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -PyDoc_STRVAR(__pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_16play_move, "Play an action for the given player. Validates first."); -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_17play_move = {"play_move", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_17play_move, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_16play_move}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_17play_move(PyObject *__pyx_v_self, +PyDoc_STRVAR(__pyx_doc_13blokus_cython_10BlokusGame_20play_move, "Play an action for the given player. Validates first."); +static PyMethodDef __pyx_mdef_13blokus_cython_10BlokusGame_21play_move = {"play_move", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_21play_move, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_10BlokusGame_20play_move}; +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_21play_move(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -37266,50 +37859,50 @@ PyObject *__pyx_args, PyObject *__pyx_kwds { PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_player_idx,&__pyx_mstate_global->__pyx_n_u_action,0}; const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(0, 715, __pyx_L3_error) + if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(0, 728, __pyx_L3_error) if (__pyx_kwds_len > 0) { switch (__pyx_nargs) { case 2: values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 715, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 728, __pyx_L3_error) CYTHON_FALLTHROUGH; case 1: values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 715, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 728, __pyx_L3_error) CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "play_move", 0) < (0)) __PYX_ERR(0, 715, __pyx_L3_error) + if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "play_move", 0) < (0)) __PYX_ERR(0, 728, __pyx_L3_error) for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("play_move", 1, 2, 2, i); __PYX_ERR(0, 715, __pyx_L3_error) } + if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("play_move", 1, 2, 2, i); __PYX_ERR(0, 728, __pyx_L3_error) } } } else if (unlikely(__pyx_nargs != 2)) { goto __pyx_L5_argtuple_error; } else { values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 715, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 728, __pyx_L3_error) values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 715, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 728, __pyx_L3_error) } - __pyx_v_player_idx = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_player_idx == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 715, __pyx_L3_error) - __pyx_v_action = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_action == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 715, __pyx_L3_error) + __pyx_v_player_idx = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_player_idx == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 728, __pyx_L3_error) + __pyx_v_action = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_action == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 728, __pyx_L3_error) } goto __pyx_L6_skip; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("play_move", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 715, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("play_move", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 728, __pyx_L3_error) __pyx_L6_skip:; goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.play_move", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.play_move", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_16play_move(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self), __pyx_v_player_idx, __pyx_v_action); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_20play_move(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self), __pyx_v_player_idx, __pyx_v_action); /* function exit code */ for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { @@ -37319,8 +37912,8 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_16play_move(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx, int __pyx_v_action) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v_move = 0; +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_20play_move(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, int __pyx_v_player_idx, int __pyx_v_action) { + struct __pyx_obj_13blokus_cython_Move *__pyx_v_move = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -37334,7 +37927,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_16play int __pyx_clineno = 0; __Pyx_RefNannySetupContext("play_move", 0); - /* "blokus_gym/core/blokus_cython.pyx":717 + /* "blokus_cython.pyx":730 * def play_move(self, int player_idx, int action) -> bint: * """Play an action for the given player. Validates first.""" * cdef Move move = self._action_moves[action] # <<<<<<<<<<<<<< @@ -37343,26 +37936,26 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_16play */ if (unlikely(__pyx_v_self->_action_moves == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 717, __pyx_L1_error) + __PYX_ERR(0, 730, __pyx_L1_error) } - __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_self->_action_moves, __pyx_v_action, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 717, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_self->_action_moves, __pyx_v_action, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 730, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Move))))) __PYX_ERR(0, 717, __pyx_L1_error) - __pyx_v_move = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *)__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_13blokus_cython_Move))))) __PYX_ERR(0, 730, __pyx_L1_error) + __pyx_v_move = ((struct __pyx_obj_13blokus_cython_Move *)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":719 + /* "blokus_cython.pyx":732 * cdef Move move = self._action_moves[action] * * if not self.valid_move(player_idx, move): # <<<<<<<<<<<<<< * return False * */ - __pyx_t_2 = ((struct __pyx_vtabstruct_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->valid_move(__pyx_v_self, __pyx_v_player_idx, __pyx_v_move, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 719, __pyx_L1_error) + __pyx_t_2 = ((struct __pyx_vtabstruct_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->valid_move(__pyx_v_self, __pyx_v_player_idx, __pyx_v_move, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 732, __pyx_L1_error) __pyx_t_3 = (!__pyx_t_2); if (__pyx_t_3) { - /* "blokus_gym/core/blokus_cython.pyx":720 + /* "blokus_cython.pyx":733 * * if not self.valid_move(player_idx, move): * return False # <<<<<<<<<<<<<< @@ -37374,7 +37967,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_16play __pyx_r = Py_False; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":719 + /* "blokus_cython.pyx":732 * cdef Move move = self._action_moves[action] * * if not self.valid_move(player_idx, move): # <<<<<<<<<<<<<< @@ -37383,7 +37976,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_16play */ } - /* "blokus_gym/core/blokus_cython.pyx":722 + /* "blokus_cython.pyx":735 * return False * * self.apply_move(player_idx, move) # <<<<<<<<<<<<<< @@ -37392,7 +37985,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_16play */ __pyx_t_4 = ((PyObject *)__pyx_v_self); __Pyx_INCREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyLong_From_int(__pyx_v_player_idx); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 722, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyLong_From_int(__pyx_v_player_idx); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = 0; { @@ -37400,12 +37993,12 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_16play __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_apply_move, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 722, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":723 + /* "blokus_cython.pyx":736 * * self.apply_move(player_idx, move) * return True # <<<<<<<<<<<<<< @@ -37417,7 +38010,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_16play __pyx_r = Py_True; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":715 + /* "blokus_cython.pyx":728 * self._check_game_over() * * def play_move(self, int player_idx, int action) -> bint: # <<<<<<<<<<<<<< @@ -37430,7 +38023,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_16play __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.play_move", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.play_move", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_move); @@ -37439,7 +38032,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_16play return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":725 +/* "blokus_cython.pyx":738 * return True * * def next_player(self): # <<<<<<<<<<<<<< @@ -37448,16 +38041,16 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_16play */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_19next_player(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_23next_player(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -PyDoc_STRVAR(__pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_18next_player, "Advance to the next player who can still move.\n \n If no players can move, the game is over.\n "); -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_19next_player = {"next_player", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_19next_player, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_18next_player}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_19next_player(PyObject *__pyx_v_self, +PyDoc_STRVAR(__pyx_doc_13blokus_cython_10BlokusGame_22next_player, "Advance to the next player who can still move.\n \n If no players can move, the game is over.\n "); +static PyMethodDef __pyx_mdef_13blokus_cython_10BlokusGame_23next_player = {"next_player", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_23next_player, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_10BlokusGame_22next_player}; +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_23next_player(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -37483,14 +38076,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; if (unlikely(__pyx_kwds_len < 0)) return NULL; if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("next_player", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_18next_player(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_22next_player(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_18next_player(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_22next_player(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { PyObject *__pyx_v_offset = NULL; PyObject *__pyx_v_next_idx = NULL; PyObject *__pyx_v_next_player = NULL; @@ -37510,7 +38103,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_18next int __pyx_clineno = 0; __Pyx_RefNannySetupContext("next_player", 0); - /* "blokus_gym/core/blokus_cython.pyx":730 + /* "blokus_cython.pyx":743 * If no players can move, the game is over. * """ * if self.game_over: # <<<<<<<<<<<<<< @@ -37519,7 +38112,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_18next */ if (__pyx_v_self->game_over) { - /* "blokus_gym/core/blokus_cython.pyx":731 + /* "blokus_cython.pyx":744 * """ * if self.game_over: * return self.current_player # <<<<<<<<<<<<<< @@ -37527,13 +38120,13 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_18next * for offset in range(1, self.num_players + 1): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->current_player); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 731, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->current_player); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":730 + /* "blokus_cython.pyx":743 * If no players can move, the game is over. * """ * if self.game_over: # <<<<<<<<<<<<<< @@ -37542,7 +38135,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_18next */ } - /* "blokus_gym/core/blokus_cython.pyx":733 + /* "blokus_cython.pyx":746 * return self.current_player * * for offset in range(1, self.num_players + 1): # <<<<<<<<<<<<<< @@ -37550,7 +38143,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_18next * next_player = self.players[next_idx] */ __pyx_t_2 = NULL; - __pyx_t_3 = __Pyx_PyLong_From_long((__pyx_v_self->num_players + 1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 733, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyLong_From_long((__pyx_v_self->num_players + 1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 746, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = 1; { @@ -37558,12 +38151,12 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_18next __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyRange_Type), __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 733, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 746, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } - __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 733, __pyx_L1_error) + __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 746, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 733, __pyx_L1_error) + __pyx_t_5 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 746, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { { @@ -37571,7 +38164,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_18next if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 733, __pyx_L1_error) + if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 746, __pyx_L1_error) PyErr_Clear(); } break; @@ -37581,28 +38174,28 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_18next __Pyx_XDECREF_SET(__pyx_v_offset, __pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":734 + /* "blokus_cython.pyx":747 * * for offset in range(1, self.num_players + 1): * next_idx = (self.current_player + offset) % self.num_players # <<<<<<<<<<<<<< * next_player = self.players[next_idx] * if next_player.can_move and self.has_valid_moves(next_idx): */ - __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->current_player); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 734, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->current_player); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_v_offset); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 734, __pyx_L1_error) + __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_v_offset); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->num_players); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 734, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->num_players); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = PyNumber_Remainder(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 734, __pyx_L1_error) + __pyx_t_6 = PyNumber_Remainder(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_next_idx, __pyx_t_6); __pyx_t_6 = 0; - /* "blokus_gym/core/blokus_cython.pyx":735 + /* "blokus_cython.pyx":748 * for offset in range(1, self.num_players + 1): * next_idx = (self.current_player + offset) % self.num_players * next_player = self.players[next_idx] # <<<<<<<<<<<<<< @@ -37611,46 +38204,46 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_18next */ if (unlikely(__pyx_v_self->players == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 735, __pyx_L1_error) + __PYX_ERR(0, 748, __pyx_L1_error) } - __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_self->players, __pyx_v_next_idx); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 735, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_self->players, __pyx_v_next_idx); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_XDECREF_SET(__pyx_v_next_player, __pyx_t_6); __pyx_t_6 = 0; - /* "blokus_gym/core/blokus_cython.pyx":736 + /* "blokus_cython.pyx":749 * next_idx = (self.current_player + offset) % self.num_players * next_player = self.players[next_idx] * if next_player.can_move and self.has_valid_moves(next_idx): # <<<<<<<<<<<<<< * self.current_player = next_idx * return next_idx */ - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_next_player, __pyx_mstate_global->__pyx_n_u_can_move); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 736, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_next_player, __pyx_mstate_global->__pyx_n_u_can_move); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 749, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 736, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 749, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_8) { } else { __pyx_t_7 = __pyx_t_8; goto __pyx_L7_bool_binop_done; } - __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_v_next_idx); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 736, __pyx_L1_error) - __pyx_t_8 = ((struct __pyx_vtabstruct_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->has_valid_moves(__pyx_v_self, __pyx_t_9, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 736, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_v_next_idx); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 749, __pyx_L1_error) + __pyx_t_8 = ((struct __pyx_vtabstruct_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->has_valid_moves(__pyx_v_self, __pyx_t_9, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 749, __pyx_L1_error) __pyx_t_7 = __pyx_t_8; __pyx_L7_bool_binop_done:; if (__pyx_t_7) { - /* "blokus_gym/core/blokus_cython.pyx":737 + /* "blokus_cython.pyx":750 * next_player = self.players[next_idx] * if next_player.can_move and self.has_valid_moves(next_idx): * self.current_player = next_idx # <<<<<<<<<<<<<< * return next_idx * */ - __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_v_next_idx); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 737, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_v_next_idx); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 750, __pyx_L1_error) __pyx_v_self->current_player = __pyx_t_9; - /* "blokus_gym/core/blokus_cython.pyx":738 + /* "blokus_cython.pyx":751 * if next_player.can_move and self.has_valid_moves(next_idx): * self.current_player = next_idx * return next_idx # <<<<<<<<<<<<<< @@ -37663,7 +38256,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_18next __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":736 + /* "blokus_cython.pyx":749 * next_idx = (self.current_player + offset) % self.num_players * next_player = self.players[next_idx] * if next_player.can_move and self.has_valid_moves(next_idx): # <<<<<<<<<<<<<< @@ -37672,7 +38265,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_18next */ } - /* "blokus_gym/core/blokus_cython.pyx":733 + /* "blokus_cython.pyx":746 * return self.current_player * * for offset in range(1, self.num_players + 1): # <<<<<<<<<<<<<< @@ -37682,7 +38275,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_18next } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":741 + /* "blokus_cython.pyx":754 * * # No one can move game over * self.game_over = True # <<<<<<<<<<<<<< @@ -37691,7 +38284,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_18next */ __pyx_v_self->game_over = 1; - /* "blokus_gym/core/blokus_cython.pyx":742 + /* "blokus_cython.pyx":755 * # No one can move game over * self.game_over = True * return self.current_player # <<<<<<<<<<<<<< @@ -37699,13 +38292,13 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_18next * def _check_game_over(self) -> None: */ __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_self->current_player); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 742, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_self->current_player); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 755, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":725 + /* "blokus_cython.pyx":738 * return True * * def next_player(self): # <<<<<<<<<<<<<< @@ -37719,7 +38312,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_18next __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.next_player", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.next_player", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_offset); @@ -37730,7 +38323,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_18next return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":744 +/* "blokus_cython.pyx":757 * return self.current_player * * def _check_game_over(self) -> None: # <<<<<<<<<<<<<< @@ -37739,16 +38332,16 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_18next */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_21_check_game_over(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_25_check_game_over(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -PyDoc_STRVAR(__pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_20_check_game_over, "Check if the game is over."); -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_21_check_game_over = {"_check_game_over", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_21_check_game_over, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_20_check_game_over}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_21_check_game_over(PyObject *__pyx_v_self, +PyDoc_STRVAR(__pyx_doc_13blokus_cython_10BlokusGame_24_check_game_over, "Check if the game is over."); +static PyMethodDef __pyx_mdef_13blokus_cython_10BlokusGame_25_check_game_over = {"_check_game_over", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_25_check_game_over, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_10BlokusGame_24_check_game_over}; +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_25_check_game_over(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -37774,15 +38367,15 @@ PyObject *__pyx_args, PyObject *__pyx_kwds const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; if (unlikely(__pyx_kwds_len < 0)) return NULL; if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("_check_game_over", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_20_check_game_over(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_24_check_game_over(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_check_game_over_2generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ +static PyObject *__pyx_gb_13blokus_cython_10BlokusGame_16_check_game_over_2generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ -/* "blokus_gym/core/blokus_cython.pyx":754 +/* "blokus_cython.pyx":767 * * # Game ends if all players can't move * if all(not p.can_move for p in self.players): # <<<<<<<<<<<<<< @@ -37790,19 +38383,19 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_che * elif all(p.has_started and not p.available_pieces for p in self.players): */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_check_game_over_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr *__pyx_cur_scope; +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_16_check_game_over_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) { + struct __pyx_obj_13blokus_cython___pyx_scope_struct_5_genexpr *__pyx_cur_scope; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("genexpr", 0); - __pyx_cur_scope = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr *)__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL); + __pyx_cur_scope = (struct __pyx_obj_13blokus_cython___pyx_scope_struct_5_genexpr *)__pyx_tp_new_13blokus_cython___pyx_scope_struct_5_genexpr(__pyx_mstate_global->__pyx_ptype_13blokus_cython___pyx_scope_struct_5_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL); if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr *)Py_None); + __pyx_cur_scope = ((struct __pyx_obj_13blokus_cython___pyx_scope_struct_5_genexpr *)Py_None); __Pyx_INCREF(Py_None); - __PYX_ERR(0, 754, __pyx_L1_error) + __PYX_ERR(0, 767, __pyx_L1_error) } else { __Pyx_GOTREF((PyObject *)__pyx_cur_scope); } @@ -37810,7 +38403,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_che __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0); { - __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_check_game_over_2generator5, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[5]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_check_game_over_locals_genexpr, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython); if (unlikely(!gen)) __PYX_ERR(0, 754, __pyx_L1_error) + __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_13blokus_cython_10BlokusGame_16_check_game_over_2generator5, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[5]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_check_game_over_locals_genexpr, __pyx_mstate_global->__pyx_n_u_blokus_cython); if (unlikely(!gen)) __PYX_ERR(0, 767, __pyx_L1_error) __Pyx_DECREF(__pyx_cur_scope); __Pyx_RefNannyFinishContext(); return (PyObject *) gen; @@ -37818,7 +38411,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_che /* function exit code */ __pyx_L1_error:; - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame._check_game_over.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame._check_game_over.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __Pyx_DECREF((PyObject *)__pyx_cur_scope); __Pyx_XGIVEREF(__pyx_r); @@ -37826,9 +38419,9 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_che return __pyx_r; } -static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_check_game_over_2generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ +static PyObject *__pyx_gb_13blokus_cython_10BlokusGame_16_check_game_over_2generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr *__pyx_cur_scope = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr *)__pyx_generator->closure); + struct __pyx_obj_13blokus_cython___pyx_scope_struct_5_genexpr *__pyx_cur_scope = ((struct __pyx_obj_13blokus_cython___pyx_scope_struct_5_genexpr *)__pyx_generator->closure); PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; Py_ssize_t __pyx_t_2; @@ -37847,11 +38440,11 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_che return NULL; } __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 754, __pyx_L1_error) - if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 754, __pyx_L1_error) } + if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 767, __pyx_L1_error) + if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 767, __pyx_L1_error) } if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 754, __pyx_L1_error) + __PYX_ERR(0, 767, __pyx_L1_error) } __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; @@ -37859,21 +38452,21 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_che { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 754, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 767, __pyx_L1_error) #endif if (__pyx_t_2 >= __pyx_temp) break; } __pyx_t_3 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference); ++__pyx_t_2; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 754, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 767, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_p); __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_p, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_p, __pyx_mstate_global->__pyx_n_u_can_move); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 754, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_p, __pyx_mstate_global->__pyx_n_u_can_move); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 767, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 754, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 767, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = (!(!__pyx_t_4)); if (__pyx_t_5) { @@ -37912,9 +38505,9 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_che __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_check_game_over_5generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ +static PyObject *__pyx_gb_13blokus_cython_10BlokusGame_16_check_game_over_5generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ -/* "blokus_gym/core/blokus_cython.pyx":756 +/* "blokus_cython.pyx":769 * if all(not p.can_move for p in self.players): * self.game_over = True * elif all(p.has_started and not p.available_pieces for p in self.players): # <<<<<<<<<<<<<< @@ -37922,19 +38515,19 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_che * self.game_over = True */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_check_game_over_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr *__pyx_cur_scope; +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_16_check_game_over_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) { + struct __pyx_obj_13blokus_cython___pyx_scope_struct_6_genexpr *__pyx_cur_scope; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("genexpr", 0); - __pyx_cur_scope = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr *)__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL); + __pyx_cur_scope = (struct __pyx_obj_13blokus_cython___pyx_scope_struct_6_genexpr *)__pyx_tp_new_13blokus_cython___pyx_scope_struct_6_genexpr(__pyx_mstate_global->__pyx_ptype_13blokus_cython___pyx_scope_struct_6_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL); if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr *)Py_None); + __pyx_cur_scope = ((struct __pyx_obj_13blokus_cython___pyx_scope_struct_6_genexpr *)Py_None); __Pyx_INCREF(Py_None); - __PYX_ERR(0, 756, __pyx_L1_error) + __PYX_ERR(0, 769, __pyx_L1_error) } else { __Pyx_GOTREF((PyObject *)__pyx_cur_scope); } @@ -37942,7 +38535,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_che __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0); { - __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_check_game_over_5generator6, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[6]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_check_game_over_locals_genexpr, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython); if (unlikely(!gen)) __PYX_ERR(0, 756, __pyx_L1_error) + __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_13blokus_cython_10BlokusGame_16_check_game_over_5generator6, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[6]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_check_game_over_locals_genexpr, __pyx_mstate_global->__pyx_n_u_blokus_cython); if (unlikely(!gen)) __PYX_ERR(0, 769, __pyx_L1_error) __Pyx_DECREF(__pyx_cur_scope); __Pyx_RefNannyFinishContext(); return (PyObject *) gen; @@ -37950,7 +38543,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_che /* function exit code */ __pyx_L1_error:; - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame._check_game_over.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame._check_game_over.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __Pyx_DECREF((PyObject *)__pyx_cur_scope); __Pyx_XGIVEREF(__pyx_r); @@ -37958,9 +38551,9 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_che return __pyx_r; } -static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_check_game_over_5generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ +static PyObject *__pyx_gb_13blokus_cython_10BlokusGame_16_check_game_over_5generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr *__pyx_cur_scope = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr *)__pyx_generator->closure); + struct __pyx_obj_13blokus_cython___pyx_scope_struct_6_genexpr *__pyx_cur_scope = ((struct __pyx_obj_13blokus_cython___pyx_scope_struct_6_genexpr *)__pyx_generator->closure); PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; Py_ssize_t __pyx_t_2; @@ -37980,11 +38573,11 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_che return NULL; } __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 756, __pyx_L1_error) - if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 756, __pyx_L1_error) } + if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 769, __pyx_L1_error) + if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 769, __pyx_L1_error) } if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 756, __pyx_L1_error) + __PYX_ERR(0, 769, __pyx_L1_error) } __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; @@ -37992,30 +38585,30 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_che { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 756, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 769, __pyx_L1_error) #endif if (__pyx_t_2 >= __pyx_temp) break; } __pyx_t_3 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference); ++__pyx_t_2; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 756, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 769, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_p); __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_p, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_p, __pyx_mstate_global->__pyx_n_u_has_started); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 756, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_p, __pyx_mstate_global->__pyx_n_u_has_started); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 769, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 756, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 769, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_5) { } else { __pyx_t_4 = __pyx_t_5; goto __pyx_L7_bool_binop_done; } - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_p, __pyx_mstate_global->__pyx_n_u_available_pieces); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 756, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_p, __pyx_mstate_global->__pyx_n_u_available_pieces); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 769, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 756, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 769, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = (!__pyx_t_5); __pyx_t_4 = __pyx_t_6; @@ -38058,7 +38651,7 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_che return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":744 +/* "blokus_cython.pyx":757 * return self.current_player * * def _check_game_over(self) -> None: # <<<<<<<<<<<<<< @@ -38066,11 +38659,11 @@ static PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_che * cdef PlayerState player */ -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_20_check_game_over(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v_player = 0; +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_24_check_game_over(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { + struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_player = 0; int __pyx_v_player_idx; - PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_check_game_over_2generator5 = 0; - PyObject *__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_check_game_over_5generator6 = 0; + PyObject *__pyx_gb_13blokus_cython_10BlokusGame_16_check_game_over_2generator5 = 0; + PyObject *__pyx_gb_13blokus_cython_10BlokusGame_16_check_game_over_5generator6 = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; @@ -38084,7 +38677,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_20_che int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_check_game_over", 0); - /* "blokus_gym/core/blokus_cython.pyx":749 + /* "blokus_cython.pyx":762 * cdef int player_idx * * for player_idx, player in enumerate(self.players): # <<<<<<<<<<<<<< @@ -38098,32 +38691,32 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_20_che { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 749, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 762, __pyx_L1_error) #endif if (__pyx_t_3 >= __pyx_temp) break; } __pyx_t_4 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_2, __pyx_t_3, __Pyx_ReferenceSharing_OwnStrongReference); ++__pyx_t_3; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 749, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 762, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PlayerState))))) __PYX_ERR(0, 749, __pyx_L1_error) - __Pyx_XDECREF_SET(__pyx_v_player, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)__pyx_t_4)); + if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_mstate_global->__pyx_ptype_13blokus_cython_PlayerState))))) __PYX_ERR(0, 762, __pyx_L1_error) + __Pyx_XDECREF_SET(__pyx_v_player, ((struct __pyx_obj_13blokus_cython_PlayerState *)__pyx_t_4)); __pyx_t_4 = 0; __pyx_v_player_idx = __pyx_t_1; __pyx_t_1 = (__pyx_t_1 + 1); - /* "blokus_gym/core/blokus_cython.pyx":750 + /* "blokus_cython.pyx":763 * * for player_idx, player in enumerate(self.players): * if not self.has_valid_moves(player_idx): # <<<<<<<<<<<<<< * player.can_move = False * */ - __pyx_t_5 = ((struct __pyx_vtabstruct_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->has_valid_moves(__pyx_v_self, __pyx_v_player_idx, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 750, __pyx_L1_error) + __pyx_t_5 = ((struct __pyx_vtabstruct_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->has_valid_moves(__pyx_v_self, __pyx_v_player_idx, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 763, __pyx_L1_error) __pyx_t_6 = (!__pyx_t_5); if (__pyx_t_6) { - /* "blokus_gym/core/blokus_cython.pyx":751 + /* "blokus_cython.pyx":764 * for player_idx, player in enumerate(self.players): * if not self.has_valid_moves(player_idx): * player.can_move = False # <<<<<<<<<<<<<< @@ -38132,7 +38725,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_20_che */ __pyx_v_player->can_move = 0; - /* "blokus_gym/core/blokus_cython.pyx":750 + /* "blokus_cython.pyx":763 * * for player_idx, player in enumerate(self.players): * if not self.has_valid_moves(player_idx): # <<<<<<<<<<<<<< @@ -38141,7 +38734,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_20_che */ } - /* "blokus_gym/core/blokus_cython.pyx":749 + /* "blokus_cython.pyx":762 * cdef int player_idx * * for player_idx, player in enumerate(self.players): # <<<<<<<<<<<<<< @@ -38151,23 +38744,23 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_20_che } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "blokus_gym/core/blokus_cython.pyx":754 + /* "blokus_cython.pyx":767 * * # Game ends if all players can't move * if all(not p.can_move for p in self.players): # <<<<<<<<<<<<<< * self.game_over = True * elif all(p.has_started and not p.available_pieces for p in self.players): */ - __pyx_t_2 = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_check_game_over_genexpr(NULL, __pyx_v_self->players); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 754, __pyx_L1_error) + __pyx_t_2 = __pyx_pf_13blokus_cython_10BlokusGame_16_check_game_over_genexpr(NULL, __pyx_v_self->players); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 767, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_Generator_GetInlinedResult(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 754, __pyx_L1_error) + __pyx_t_4 = __Pyx_Generator_GetInlinedResult(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 767, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 754, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 767, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_6) { - /* "blokus_gym/core/blokus_cython.pyx":755 + /* "blokus_cython.pyx":768 * # Game ends if all players can't move * if all(not p.can_move for p in self.players): * self.game_over = True # <<<<<<<<<<<<<< @@ -38176,7 +38769,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_20_che */ __pyx_v_self->game_over = 1; - /* "blokus_gym/core/blokus_cython.pyx":754 + /* "blokus_cython.pyx":767 * * # Game ends if all players can't move * if all(not p.can_move for p in self.players): # <<<<<<<<<<<<<< @@ -38186,32 +38779,32 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_20_che goto __pyx_L7; } - /* "blokus_gym/core/blokus_cython.pyx":756 + /* "blokus_cython.pyx":769 * if all(not p.can_move for p in self.players): * self.game_over = True * elif all(p.has_started and not p.available_pieces for p in self.players): # <<<<<<<<<<<<<< * # All pieces played * self.game_over = True */ - __pyx_t_4 = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_check_game_over_3genexpr(NULL, __pyx_v_self->players); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 756, __pyx_L1_error) + __pyx_t_4 = __pyx_pf_13blokus_cython_10BlokusGame_16_check_game_over_3genexpr(NULL, __pyx_v_self->players); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 769, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 756, __pyx_L1_error) + __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 769, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 756, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 769, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_6) { - /* "blokus_gym/core/blokus_cython.pyx":758 + /* "blokus_cython.pyx":771 * elif all(p.has_started and not p.available_pieces for p in self.players): * # All pieces played * self.game_over = True # <<<<<<<<<<<<<< * - * def get_state(self) -> dict: + * def is_game_over(self) -> bool: */ __pyx_v_self->game_over = 1; - /* "blokus_gym/core/blokus_cython.pyx":756 + /* "blokus_cython.pyx":769 * if all(not p.can_move for p in self.players): * self.game_over = True * elif all(p.has_started and not p.available_pieces for p in self.players): # <<<<<<<<<<<<<< @@ -38221,7 +38814,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_20_che } __pyx_L7:; - /* "blokus_gym/core/blokus_cython.pyx":744 + /* "blokus_cython.pyx":757 * return self.current_player * * def _check_game_over(self) -> None: # <<<<<<<<<<<<<< @@ -38235,36 +38828,786 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_20_che __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame._check_game_over", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame._check_game_over", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_player); - __Pyx_XDECREF(__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_check_game_over_2generator5); - __Pyx_XDECREF(__pyx_gb_10blokus_gym_4core_13blokus_cython_10BlokusGame_16_check_game_over_5generator6); + __Pyx_XDECREF(__pyx_gb_13blokus_cython_10BlokusGame_16_check_game_over_2generator5); + __Pyx_XDECREF(__pyx_gb_13blokus_cython_10BlokusGame_16_check_game_over_5generator6); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":760 +/* "blokus_cython.pyx":773 * self.game_over = True * + * def is_game_over(self) -> bool: # <<<<<<<<<<<<<< + * """Check if the game is over (no player can make a move).""" + * if self.game_over: +*/ + +/* Python wrapper */ +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_27is_game_over(PyObject *__pyx_v_self, +#if CYTHON_METH_FASTCALL +PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds +#else +PyObject *__pyx_args, PyObject *__pyx_kwds +#endif +); /*proto*/ +PyDoc_STRVAR(__pyx_doc_13blokus_cython_10BlokusGame_26is_game_over, "Check if the game is over (no player can make a move)."); +static PyMethodDef __pyx_mdef_13blokus_cython_10BlokusGame_27is_game_over = {"is_game_over", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_27is_game_over, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_10BlokusGame_26is_game_over}; +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_27is_game_over(PyObject *__pyx_v_self, +#if CYTHON_METH_FASTCALL +PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds +#else +PyObject *__pyx_args, PyObject *__pyx_kwds +#endif +) { + #if !CYTHON_METH_FASTCALL + CYTHON_UNUSED Py_ssize_t __pyx_nargs; + #endif + CYTHON_UNUSED PyObject *const *__pyx_kwvalues; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("is_game_over (wrapper)", 0); + #if !CYTHON_METH_FASTCALL + #if CYTHON_ASSUME_SAFE_SIZE + __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); + #else + __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; + #endif + #endif + __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); + if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("is_game_over", 1, 0, 0, __pyx_nargs); return NULL; } + const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; + if (unlikely(__pyx_kwds_len < 0)) return NULL; + if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("is_game_over", __pyx_kwds); return NULL;} + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_26is_game_over(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_26is_game_over(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { + int __pyx_v_i; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + int __pyx_t_3; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_t_7; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("is_game_over", 0); + + /* "blokus_cython.pyx":775 + * def is_game_over(self) -> bool: + * """Check if the game is over (no player can make a move).""" + * if self.game_over: # <<<<<<<<<<<<<< + * return True + * # Check if any player can still move +*/ + if (__pyx_v_self->game_over) { + + /* "blokus_cython.pyx":776 + * """Check if the game is over (no player can make a move).""" + * if self.game_over: + * return True # <<<<<<<<<<<<<< + * # Check if any player can still move + * cdef int i +*/ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_True); + __pyx_r = Py_True; + goto __pyx_L0; + + /* "blokus_cython.pyx":775 + * def is_game_over(self) -> bool: + * """Check if the game is over (no player can make a move).""" + * if self.game_over: # <<<<<<<<<<<<<< + * return True + * # Check if any player can still move +*/ + } + + /* "blokus_cython.pyx":779 + * # Check if any player can still move + * cdef int i + * for i in range(self.num_players): # <<<<<<<<<<<<<< + * if self.players[i].can_move and self.has_valid_moves(i): + * return False +*/ + __pyx_t_1 = __pyx_v_self->num_players; + __pyx_t_2 = __pyx_t_1; + for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) { + __pyx_v_i = __pyx_t_3; + + /* "blokus_cython.pyx":780 + * cdef int i + * for i in range(self.num_players): + * if self.players[i].can_move and self.has_valid_moves(i): # <<<<<<<<<<<<<< + * return False + * self.game_over = True +*/ + if (unlikely(__pyx_v_self->players == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 780, __pyx_L1_error) + } + __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_self->players, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 780, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_can_move); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 780, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 780, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (__pyx_t_7) { + } else { + __pyx_t_4 = __pyx_t_7; + goto __pyx_L7_bool_binop_done; + } + __pyx_t_7 = ((struct __pyx_vtabstruct_13blokus_cython_BlokusGame *)__pyx_v_self->__pyx_vtab)->has_valid_moves(__pyx_v_self, __pyx_v_i, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 780, __pyx_L1_error) + __pyx_t_4 = __pyx_t_7; + __pyx_L7_bool_binop_done:; + if (__pyx_t_4) { + + /* "blokus_cython.pyx":781 + * for i in range(self.num_players): + * if self.players[i].can_move and self.has_valid_moves(i): + * return False # <<<<<<<<<<<<<< + * self.game_over = True + * return True +*/ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_False); + __pyx_r = Py_False; + goto __pyx_L0; + + /* "blokus_cython.pyx":780 + * cdef int i + * for i in range(self.num_players): + * if self.players[i].can_move and self.has_valid_moves(i): # <<<<<<<<<<<<<< + * return False + * self.game_over = True +*/ + } + } + + /* "blokus_cython.pyx":782 + * if self.players[i].can_move and self.has_valid_moves(i): + * return False + * self.game_over = True # <<<<<<<<<<<<<< + * return True + * +*/ + __pyx_v_self->game_over = 1; + + /* "blokus_cython.pyx":783 + * return False + * self.game_over = True + * return True # <<<<<<<<<<<<<< + * + * def get_scores(self) -> list: +*/ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_True); + __pyx_r = Py_True; + goto __pyx_L0; + + /* "blokus_cython.pyx":773 + * self.game_over = True + * + * def is_game_over(self) -> bool: # <<<<<<<<<<<<<< + * """Check if the game is over (no player can make a move).""" + * if self.game_over: +*/ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("blokus_cython.BlokusGame.is_game_over", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "blokus_cython.pyx":785 + * return True + * + * def get_scores(self) -> list: # <<<<<<<<<<<<<< + * """Get the score for each player. + * +*/ + +/* Python wrapper */ +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_29get_scores(PyObject *__pyx_v_self, +#if CYTHON_METH_FASTCALL +PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds +#else +PyObject *__pyx_args, PyObject *__pyx_kwds +#endif +); /*proto*/ +PyDoc_STRVAR(__pyx_doc_13blokus_cython_10BlokusGame_28get_scores, "Get the score for each player.\n \n Score = squares placed (positive) - unplaced squares (negative).\n A player who placed all pieces gets a +15 bonus.\n If the last piece was the monomino, an additional +5 bonus.\n "); +static PyMethodDef __pyx_mdef_13blokus_cython_10BlokusGame_29get_scores = {"get_scores", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_29get_scores, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_10BlokusGame_28get_scores}; +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_29get_scores(PyObject *__pyx_v_self, +#if CYTHON_METH_FASTCALL +PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds +#else +PyObject *__pyx_args, PyObject *__pyx_kwds +#endif +) { + #if !CYTHON_METH_FASTCALL + CYTHON_UNUSED Py_ssize_t __pyx_nargs; + #endif + CYTHON_UNUSED PyObject *const *__pyx_kwvalues; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("get_scores (wrapper)", 0); + #if !CYTHON_METH_FASTCALL + #if CYTHON_ASSUME_SAFE_SIZE + __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); + #else + __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; + #endif + #endif + __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); + if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("get_scores", 1, 0, 0, __pyx_nargs); return NULL; } + const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; + if (unlikely(__pyx_kwds_len < 0)) return NULL; + if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("get_scores", __pyx_kwds); return NULL;} + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_28get_scores(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_28get_scores(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { + PyObject *__pyx_v_scores = 0; + struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v_player = 0; + int __pyx_v_unplaced; + int __pyx_v_score; + int __pyx_v_pid; + PyObject *__pyx_v_piece = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + Py_ssize_t __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + size_t __pyx_t_9; + int __pyx_t_10; + int __pyx_t_11; + int __pyx_t_12; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("get_scores", 0); + + /* "blokus_cython.pyx":792 + * If the last piece was the monomino, an additional +5 bonus. + * """ + * cdef list scores = [] # <<<<<<<<<<<<<< + * cdef PlayerState player + * cdef int unplaced +*/ + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 792, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_scores = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "blokus_cython.pyx":798 + * cdef int pid + * + * for player in self.players: # <<<<<<<<<<<<<< + * # Sum sizes of remaining pieces + * unplaced = 0 +*/ + if (unlikely(__pyx_v_self->players == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); + __PYX_ERR(0, 798, __pyx_L1_error) + } + __pyx_t_1 = __pyx_v_self->players; __Pyx_INCREF(__pyx_t_1); + __pyx_t_2 = 0; + for (;;) { + { + Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1); + #if !CYTHON_ASSUME_SAFE_SIZE + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 798, __pyx_L1_error) + #endif + if (__pyx_t_2 >= __pyx_temp) break; + } + __pyx_t_3 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference); + ++__pyx_t_2; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 798, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_mstate_global->__pyx_ptype_13blokus_cython_PlayerState))))) __PYX_ERR(0, 798, __pyx_L1_error) + __Pyx_XDECREF_SET(__pyx_v_player, ((struct __pyx_obj_13blokus_cython_PlayerState *)__pyx_t_3)); + __pyx_t_3 = 0; + + /* "blokus_cython.pyx":800 + * for player in self.players: + * # Sum sizes of remaining pieces + * unplaced = 0 # <<<<<<<<<<<<<< + * for pid in range(self.piece_set.num_pieces): + * piece = self.piece_set.get_piece(pid) +*/ + __pyx_v_unplaced = 0; + + /* "blokus_cython.pyx":801 + * # Sum sizes of remaining pieces + * unplaced = 0 + * for pid in range(self.piece_set.num_pieces): # <<<<<<<<<<<<<< + * piece = self.piece_set.get_piece(pid) + * if piece.name in player.available_pieces: +*/ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->piece_set), __pyx_mstate_global->__pyx_n_u_num_pieces); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 801, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyIndex_AsSsize_t(__pyx_t_3); if (unlikely((__pyx_t_4 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 801, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_5 = __pyx_t_4; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_pid = __pyx_t_6; + + /* "blokus_cython.pyx":802 + * unplaced = 0 + * for pid in range(self.piece_set.num_pieces): + * piece = self.piece_set.get_piece(pid) # <<<<<<<<<<<<<< + * if piece.name in player.available_pieces: + * unplaced += piece.size +*/ + __pyx_t_7 = ((PyObject *)__pyx_v_self->piece_set); + __Pyx_INCREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyLong_From_int(__pyx_v_pid); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 802, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = 0; + { + PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_8}; + __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_piece, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 802, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + } + __Pyx_XDECREF_SET(__pyx_v_piece, __pyx_t_3); + __pyx_t_3 = 0; + + /* "blokus_cython.pyx":803 + * for pid in range(self.piece_set.num_pieces): + * piece = self.piece_set.get_piece(pid) + * if piece.name in player.available_pieces: # <<<<<<<<<<<<<< + * unplaced += piece.size + * score = player.score - unplaced +*/ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_piece, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 803, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (unlikely(__pyx_v_player->available_pieces == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); + __PYX_ERR(0, 803, __pyx_L1_error) + } + __pyx_t_10 = (__Pyx_PySet_ContainsTF(__pyx_t_3, __pyx_v_player->available_pieces, Py_EQ)); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 803, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_10) { + + /* "blokus_cython.pyx":804 + * piece = self.piece_set.get_piece(pid) + * if piece.name in player.available_pieces: + * unplaced += piece.size # <<<<<<<<<<<<<< + * score = player.score - unplaced + * +*/ + __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_unplaced); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 804, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_piece, __pyx_mstate_global->__pyx_n_u_size); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 804, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 804, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_11 = __Pyx_PyLong_As_int(__pyx_t_7); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 804, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_v_unplaced = __pyx_t_11; + + /* "blokus_cython.pyx":803 + * for pid in range(self.piece_set.num_pieces): + * piece = self.piece_set.get_piece(pid) + * if piece.name in player.available_pieces: # <<<<<<<<<<<<<< + * unplaced += piece.size + * score = player.score - unplaced +*/ + } + } + + /* "blokus_cython.pyx":805 + * if piece.name in player.available_pieces: + * unplaced += piece.size + * score = player.score - unplaced # <<<<<<<<<<<<<< + * + * # Bonus for placing all pieces +*/ + __pyx_v_score = (__pyx_v_player->score - __pyx_v_unplaced); + + /* "blokus_cython.pyx":808 + * + * # Bonus for placing all pieces + * if len(player.available_pieces) == 0: # <<<<<<<<<<<<<< + * score += 15 + * +*/ + __pyx_t_7 = __pyx_v_player->available_pieces; + __Pyx_INCREF(__pyx_t_7); + if (unlikely(__pyx_t_7 == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(0, 808, __pyx_L1_error) + } + __pyx_t_4 = __Pyx_PySet_GET_SIZE(__pyx_t_7); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 808, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_10 = (__pyx_t_4 == 0); + if (__pyx_t_10) { + + /* "blokus_cython.pyx":809 + * # Bonus for placing all pieces + * if len(player.available_pieces) == 0: + * score += 15 # <<<<<<<<<<<<<< + * + * scores.append(score) +*/ + __pyx_v_score = (__pyx_v_score + 15); + + /* "blokus_cython.pyx":808 + * + * # Bonus for placing all pieces + * if len(player.available_pieces) == 0: # <<<<<<<<<<<<<< + * score += 15 + * +*/ + } + + /* "blokus_cython.pyx":811 + * score += 15 + * + * scores.append(score) # <<<<<<<<<<<<<< + * return scores + * +*/ + __pyx_t_7 = __Pyx_PyLong_From_int(__pyx_v_score); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 811, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_12 = __Pyx_PyList_Append(__pyx_v_scores, __pyx_t_7); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(0, 811, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "blokus_cython.pyx":798 + * cdef int pid + * + * for player in self.players: # <<<<<<<<<<<<<< + * # Sum sizes of remaining pieces + * unplaced = 0 +*/ + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "blokus_cython.pyx":812 + * + * scores.append(score) + * return scores # <<<<<<<<<<<<<< + * + * def get_winners(self) -> list | None: +*/ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_scores); + __pyx_r = __pyx_v_scores; + goto __pyx_L0; + + /* "blokus_cython.pyx":785 + * return True + * + * def get_scores(self) -> list: # <<<<<<<<<<<<<< + * """Get the score for each player. + * +*/ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("blokus_cython.BlokusGame.get_scores", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_scores); + __Pyx_XDECREF((PyObject *)__pyx_v_player); + __Pyx_XDECREF(__pyx_v_piece); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "blokus_cython.pyx":814 + * return scores + * + * def get_winners(self) -> list | None: # <<<<<<<<<<<<<< + * """Get the winning player(s). Returns None if game is not over.""" + * if not self.is_game_over(): +*/ + +/* Python wrapper */ +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_31get_winners(PyObject *__pyx_v_self, +#if CYTHON_METH_FASTCALL +PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds +#else +PyObject *__pyx_args, PyObject *__pyx_kwds +#endif +); /*proto*/ +PyDoc_STRVAR(__pyx_doc_13blokus_cython_10BlokusGame_30get_winners, "Get the winning player(s). Returns None if game is not over."); +static PyMethodDef __pyx_mdef_13blokus_cython_10BlokusGame_31get_winners = {"get_winners", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_31get_winners, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_10BlokusGame_30get_winners}; +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_31get_winners(PyObject *__pyx_v_self, +#if CYTHON_METH_FASTCALL +PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds +#else +PyObject *__pyx_args, PyObject *__pyx_kwds +#endif +) { + #if !CYTHON_METH_FASTCALL + CYTHON_UNUSED Py_ssize_t __pyx_nargs; + #endif + CYTHON_UNUSED PyObject *const *__pyx_kwvalues; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("get_winners (wrapper)", 0); + #if !CYTHON_METH_FASTCALL + #if CYTHON_ASSUME_SAFE_SIZE + __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); + #else + __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; + #endif + #endif + __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); + if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("get_winners", 1, 0, 0, __pyx_nargs); return NULL; } + const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; + if (unlikely(__pyx_kwds_len < 0)) return NULL; + if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("get_winners", __pyx_kwds); return NULL;} + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_30get_winners(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_30get_winners(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { + PyObject *__pyx_v_scores = 0; + int __pyx_v_max_score; + Py_ssize_t __pyx_9genexpr11__pyx_v_i; + PyObject *__pyx_9genexpr11__pyx_v_s = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + size_t __pyx_t_3; + int __pyx_t_4; + int __pyx_t_5; + int __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("get_winners", 0); + + /* "blokus_cython.pyx":816 + * def get_winners(self) -> list | None: + * """Get the winning player(s). Returns None if game is not over.""" + * if not self.is_game_over(): # <<<<<<<<<<<<<< + * return None + * +*/ + __pyx_t_2 = ((PyObject *)__pyx_v_self); + __Pyx_INCREF(__pyx_t_2); + __pyx_t_3 = 0; + { + PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; + __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_is_game_over, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 816, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + } + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 816, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_5 = (!__pyx_t_4); + if (__pyx_t_5) { + + /* "blokus_cython.pyx":817 + * """Get the winning player(s). Returns None if game is not over.""" + * if not self.is_game_over(): + * return None # <<<<<<<<<<<<<< + * + * cdef list scores = self.get_scores() +*/ + __Pyx_XDECREF(__pyx_r); + __pyx_r = ((PyObject*)Py_None); __Pyx_INCREF(Py_None); + goto __pyx_L0; + + /* "blokus_cython.pyx":816 + * def get_winners(self) -> list | None: + * """Get the winning player(s). Returns None if game is not over.""" + * if not self.is_game_over(): # <<<<<<<<<<<<<< + * return None + * +*/ + } + + /* "blokus_cython.pyx":819 + * return None + * + * cdef list scores = self.get_scores() # <<<<<<<<<<<<<< + * cdef int max_score = max(scores) + * return [i for i, s in enumerate(scores) if s == max_score] +*/ + __pyx_t_2 = ((PyObject *)__pyx_v_self); + __Pyx_INCREF(__pyx_t_2); + __pyx_t_3 = 0; + { + PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; + __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_scores, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 819, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + } + if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_t_1))) __PYX_ERR(0, 819, __pyx_L1_error) + __pyx_v_scores = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "blokus_cython.pyx":820 + * + * cdef list scores = self.get_scores() + * cdef int max_score = max(scores) # <<<<<<<<<<<<<< + * return [i for i, s in enumerate(scores) if s == max_score] + * +*/ + __pyx_t_2 = NULL; + __pyx_t_3 = 1; + { + PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_scores}; + __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_max, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 820, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + } + __pyx_t_6 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 820, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_max_score = __pyx_t_6; + + /* "blokus_cython.pyx":821 + * cdef list scores = self.get_scores() + * cdef int max_score = max(scores) + * return [i for i, s in enumerate(scores) if s == max_score] # <<<<<<<<<<<<<< + * + * def get_state(self) -> dict: +*/ + __Pyx_XDECREF(__pyx_r); + { /* enter inner scope */ + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 821, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = 0; + __pyx_t_2 = __pyx_v_scores; __Pyx_INCREF(__pyx_t_2); + __pyx_t_8 = 0; + for (;;) { + { + Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2); + #if !CYTHON_ASSUME_SAFE_SIZE + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 821, __pyx_L6_error) + #endif + if (__pyx_t_8 >= __pyx_temp) break; + } + __pyx_t_9 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_2, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference); + ++__pyx_t_8; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 821, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_XDECREF_SET(__pyx_9genexpr11__pyx_v_s, __pyx_t_9); + __pyx_t_9 = 0; + __pyx_9genexpr11__pyx_v_i = __pyx_t_7; + __pyx_t_7 = (__pyx_t_7 + 1); + __pyx_t_9 = __Pyx_PyLong_From_int(__pyx_v_max_score); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 821, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = PyObject_RichCompare(__pyx_9genexpr11__pyx_v_s, __pyx_t_9, Py_EQ); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 821, __pyx_L6_error) + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 821, __pyx_L6_error) + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (__pyx_t_5) { + __pyx_t_10 = PyLong_FromSsize_t(__pyx_9genexpr11__pyx_v_i); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 821, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_10); + if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_10))) __PYX_ERR(0, 821, __pyx_L6_error) + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_9genexpr11__pyx_v_s); __pyx_9genexpr11__pyx_v_s = 0; + goto __pyx_L11_exit_scope; + __pyx_L6_error:; + __Pyx_XDECREF(__pyx_9genexpr11__pyx_v_s); __pyx_9genexpr11__pyx_v_s = 0; + goto __pyx_L1_error; + __pyx_L11_exit_scope:; + } /* exit inner scope */ + __pyx_r = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "blokus_cython.pyx":814 + * return scores + * + * def get_winners(self) -> list | None: # <<<<<<<<<<<<<< + * """Get the winning player(s). Returns None if game is not over.""" + * if not self.is_game_over(): +*/ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_AddTraceback("blokus_cython.BlokusGame.get_winners", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_scores); + __Pyx_XDECREF(__pyx_9genexpr11__pyx_v_s); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "blokus_cython.pyx":823 + * return [i for i, s in enumerate(scores) if s == max_score] + * * def get_state(self) -> dict: # <<<<<<<<<<<<<< * """Get the current game state as a dictionary.""" * return { */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_23get_state(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_33get_state(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -PyDoc_STRVAR(__pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_22get_state, "Get the current game state as a dictionary."); -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_23get_state = {"get_state", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_23get_state, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_22get_state}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_23get_state(PyObject *__pyx_v_self, +PyDoc_STRVAR(__pyx_doc_13blokus_cython_10BlokusGame_32get_state, "Get the current game state as a dictionary."); +static PyMethodDef __pyx_mdef_13blokus_cython_10BlokusGame_33get_state = {"get_state", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_33get_state, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_10BlokusGame_32get_state}; +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_33get_state(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -38290,15 +39633,15 @@ PyObject *__pyx_args, PyObject *__pyx_kwds const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; if (unlikely(__pyx_kwds_len < 0)) return NULL; if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("get_state", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_22get_state(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_32get_state(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_22get_state(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { - PyObject *__pyx_9genexpr11__pyx_v_p = NULL; +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_32get_state(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { + PyObject *__pyx_9genexpr12__pyx_v_p = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -38313,7 +39656,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_22get_ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("get_state", 0); - /* "blokus_gym/core/blokus_cython.pyx":762 + /* "blokus_cython.pyx":825 * def get_state(self) -> dict: * """Get the current game state as a dictionary.""" * return { # <<<<<<<<<<<<<< @@ -38322,80 +39665,80 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_22get_ */ __Pyx_XDECREF(__pyx_r); - /* "blokus_gym/core/blokus_cython.pyx":763 + /* "blokus_cython.pyx":826 * """Get the current game state as a dictionary.""" * return { * "board_size": self.board_size, # <<<<<<<<<<<<<< * "num_players": self.num_players, * "current_player": self.current_player, */ - __pyx_t_1 = __Pyx_PyDict_NewPresized(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 763, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_self->board_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 763, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_self->board_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_board_size, __pyx_t_2) < (0)) __PYX_ERR(0, 763, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_board_size, __pyx_t_2) < (0)) __PYX_ERR(0, 826, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "blokus_gym/core/blokus_cython.pyx":764 + /* "blokus_cython.pyx":827 * return { * "board_size": self.board_size, * "num_players": self.num_players, # <<<<<<<<<<<<<< * "current_player": self.current_player, * "rounds": self.rounds, */ - __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_self->num_players); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 764, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_self->num_players); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 827, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_num_players, __pyx_t_2) < (0)) __PYX_ERR(0, 763, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_num_players, __pyx_t_2) < (0)) __PYX_ERR(0, 826, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "blokus_gym/core/blokus_cython.pyx":765 + /* "blokus_cython.pyx":828 * "board_size": self.board_size, * "num_players": self.num_players, * "current_player": self.current_player, # <<<<<<<<<<<<<< * "rounds": self.rounds, * "game_over": self.game_over, */ - __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_self->current_player); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 765, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_self->current_player); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_current_player, __pyx_t_2) < (0)) __PYX_ERR(0, 763, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_current_player, __pyx_t_2) < (0)) __PYX_ERR(0, 826, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "blokus_gym/core/blokus_cython.pyx":766 + /* "blokus_cython.pyx":829 * "num_players": self.num_players, * "current_player": self.current_player, * "rounds": self.rounds, # <<<<<<<<<<<<<< * "game_over": self.game_over, * "players": [ */ - __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_self->rounds); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 766, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_self->rounds); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_rounds, __pyx_t_2) < (0)) __PYX_ERR(0, 763, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_rounds, __pyx_t_2) < (0)) __PYX_ERR(0, 826, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "blokus_gym/core/blokus_cython.pyx":767 + /* "blokus_cython.pyx":830 * "current_player": self.current_player, * "rounds": self.rounds, * "game_over": self.game_over, # <<<<<<<<<<<<<< * "players": [ * { */ - __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_self->game_over); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 767, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_self->game_over); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_game_over, __pyx_t_2) < (0)) __PYX_ERR(0, 763, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_game_over, __pyx_t_2) < (0)) __PYX_ERR(0, 826, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; { /* enter inner scope */ - /* "blokus_gym/core/blokus_cython.pyx":768 + /* "blokus_cython.pyx":831 * "rounds": self.rounds, * "game_over": self.game_over, * "players": [ # <<<<<<<<<<<<<< * { * "idx": p.idx, */ - __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 768, __pyx_L5_error) + __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 831, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_2); - /* "blokus_gym/core/blokus_cython.pyx":776 + /* "blokus_cython.pyx":839 * "can_move": p.can_move, * } * for p in self.players # <<<<<<<<<<<<<< @@ -38404,7 +39747,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_22get_ */ if (unlikely(__pyx_v_self->players == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 776, __pyx_L5_error) + __PYX_ERR(0, 839, __pyx_L5_error) } __pyx_t_3 = __pyx_v_self->players; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0; @@ -38412,85 +39755,85 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_22get_ { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 776, __pyx_L5_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 839, __pyx_L5_error) #endif if (__pyx_t_4 >= __pyx_temp) break; } __pyx_t_5 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_3, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference); ++__pyx_t_4; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 776, __pyx_L5_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 839, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_5); - __Pyx_XDECREF_SET(__pyx_9genexpr11__pyx_v_p, __pyx_t_5); + __Pyx_XDECREF_SET(__pyx_9genexpr12__pyx_v_p, __pyx_t_5); __pyx_t_5 = 0; - /* "blokus_gym/core/blokus_cython.pyx":770 + /* "blokus_cython.pyx":833 * "players": [ * { * "idx": p.idx, # <<<<<<<<<<<<<< * "available_pieces": list(p.available_pieces), * "score": p.score, */ - __pyx_t_5 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 770, __pyx_L5_error) + __pyx_t_5 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 833, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr11__pyx_v_p, __pyx_mstate_global->__pyx_n_u_idx); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 770, __pyx_L5_error) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr12__pyx_v_p, __pyx_mstate_global->__pyx_n_u_idx); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 833, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_idx, __pyx_t_6) < (0)) __PYX_ERR(0, 770, __pyx_L5_error) + if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_idx, __pyx_t_6) < (0)) __PYX_ERR(0, 833, __pyx_L5_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - /* "blokus_gym/core/blokus_cython.pyx":771 + /* "blokus_cython.pyx":834 * { * "idx": p.idx, * "available_pieces": list(p.available_pieces), # <<<<<<<<<<<<<< * "score": p.score, * "has_started": p.has_started, */ - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr11__pyx_v_p, __pyx_mstate_global->__pyx_n_u_available_pieces); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 771, __pyx_L5_error) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr12__pyx_v_p, __pyx_mstate_global->__pyx_n_u_available_pieces); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 834, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PySequence_ListKeepNew(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 771, __pyx_L5_error) + __pyx_t_7 = __Pyx_PySequence_ListKeepNew(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 834, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_available_pieces, __pyx_t_7) < (0)) __PYX_ERR(0, 770, __pyx_L5_error) + if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_available_pieces, __pyx_t_7) < (0)) __PYX_ERR(0, 833, __pyx_L5_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - /* "blokus_gym/core/blokus_cython.pyx":772 + /* "blokus_cython.pyx":835 * "idx": p.idx, * "available_pieces": list(p.available_pieces), * "score": p.score, # <<<<<<<<<<<<<< * "has_started": p.has_started, * "can_move": p.can_move, */ - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr11__pyx_v_p, __pyx_mstate_global->__pyx_n_u_score); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 772, __pyx_L5_error) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr12__pyx_v_p, __pyx_mstate_global->__pyx_n_u_score); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 835, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_score, __pyx_t_7) < (0)) __PYX_ERR(0, 770, __pyx_L5_error) + if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_score, __pyx_t_7) < (0)) __PYX_ERR(0, 833, __pyx_L5_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - /* "blokus_gym/core/blokus_cython.pyx":773 + /* "blokus_cython.pyx":836 * "available_pieces": list(p.available_pieces), * "score": p.score, * "has_started": p.has_started, # <<<<<<<<<<<<<< * "can_move": p.can_move, * } */ - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr11__pyx_v_p, __pyx_mstate_global->__pyx_n_u_has_started); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 773, __pyx_L5_error) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr12__pyx_v_p, __pyx_mstate_global->__pyx_n_u_has_started); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 836, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_has_started, __pyx_t_7) < (0)) __PYX_ERR(0, 770, __pyx_L5_error) + if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_has_started, __pyx_t_7) < (0)) __PYX_ERR(0, 833, __pyx_L5_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - /* "blokus_gym/core/blokus_cython.pyx":774 + /* "blokus_cython.pyx":837 * "score": p.score, * "has_started": p.has_started, * "can_move": p.can_move, # <<<<<<<<<<<<<< * } * for p in self.players */ - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr11__pyx_v_p, __pyx_mstate_global->__pyx_n_u_can_move); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 774, __pyx_L5_error) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr12__pyx_v_p, __pyx_mstate_global->__pyx_n_u_can_move); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 837, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_can_move, __pyx_t_7) < (0)) __PYX_ERR(0, 770, __pyx_L5_error) + if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_can_move, __pyx_t_7) < (0)) __PYX_ERR(0, 833, __pyx_L5_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 768, __pyx_L5_error) + if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 831, __pyx_L5_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "blokus_gym/core/blokus_cython.pyx":776 + /* "blokus_cython.pyx":839 * "can_move": p.can_move, * } * for p in self.players # <<<<<<<<<<<<<< @@ -38499,21 +39842,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_22get_ */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_9genexpr11__pyx_v_p); __pyx_9genexpr11__pyx_v_p = 0; + __Pyx_XDECREF(__pyx_9genexpr12__pyx_v_p); __pyx_9genexpr12__pyx_v_p = 0; goto __pyx_L9_exit_scope; __pyx_L5_error:; - __Pyx_XDECREF(__pyx_9genexpr11__pyx_v_p); __pyx_9genexpr11__pyx_v_p = 0; + __Pyx_XDECREF(__pyx_9genexpr12__pyx_v_p); __pyx_9genexpr12__pyx_v_p = 0; goto __pyx_L1_error; __pyx_L9_exit_scope:; } /* exit inner scope */ - if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_players, __pyx_t_2) < (0)) __PYX_ERR(0, 763, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_players, __pyx_t_2) < (0)) __PYX_ERR(0, 826, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_r = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":760 - * self.game_over = True + /* "blokus_cython.pyx":823 + * return [i for i, s in enumerate(scores) if s == max_score] * * def get_state(self) -> dict: # <<<<<<<<<<<<<< * """Get the current game state as a dictionary.""" @@ -38528,16 +39871,16 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_22get_ __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.get_state", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.get_state", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; - __Pyx_XDECREF(__pyx_9genexpr11__pyx_v_p); + __Pyx_XDECREF(__pyx_9genexpr12__pyx_v_p); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":780 +/* "blokus_cython.pyx":843 * } * * def copy(self) -> BlokusGame: # <<<<<<<<<<<<<< @@ -38546,16 +39889,16 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_22get_ */ /* Python wrapper */ -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_25copy(PyObject *__pyx_v_self, +static struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_pw_13blokus_cython_10BlokusGame_35copy(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -PyDoc_STRVAR(__pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_24copy, "Create a deep copy of the game."); -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_25copy = {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_25copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_24copy}; -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_25copy(PyObject *__pyx_v_self, +PyDoc_STRVAR(__pyx_doc_13blokus_cython_10BlokusGame_34copy, "Create a deep copy of the game."); +static PyMethodDef __pyx_mdef_13blokus_cython_10BlokusGame_35copy = {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_35copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_10BlokusGame_34copy}; +static struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_pw_13blokus_cython_10BlokusGame_35copy(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -38566,7 +39909,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds CYTHON_UNUSED Py_ssize_t __pyx_nargs; #endif CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_r = 0; + struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("copy (wrapper)", 0); #if !CYTHON_METH_FASTCALL @@ -38581,18 +39924,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; if (unlikely(__pyx_kwds_len < 0)) return NULL; if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_24copy(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_34copy(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_24copy(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_new_game = 0; +static struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_pf_13blokus_cython_10BlokusGame_34copy(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { + struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_new_game = 0; PyObject *__pyx_v_i = NULL; PyObject *__pyx_v_p = NULL; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_r = NULL; + struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; @@ -38609,7 +39952,7 @@ static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_pf_ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("copy", 0); - /* "blokus_gym/core/blokus_cython.pyx":782 + /* "blokus_cython.pyx":845 * def copy(self) -> BlokusGame: * """Create a deep copy of the game.""" * cdef BlokusGame new_game = BlokusGame( # <<<<<<<<<<<<<< @@ -38618,57 +39961,57 @@ static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_pf_ */ __pyx_t_2 = NULL; - /* "blokus_gym/core/blokus_cython.pyx":783 + /* "blokus_cython.pyx":846 * """Create a deep copy of the game.""" * cdef BlokusGame new_game = BlokusGame( * board_size=self.board_size, # <<<<<<<<<<<<<< * pieces=self.piece_set, * num_players=self.num_players, */ - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_self->board_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 783, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_self->board_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - /* "blokus_gym/core/blokus_cython.pyx":785 + /* "blokus_cython.pyx":848 * board_size=self.board_size, * pieces=self.piece_set, * num_players=self.num_players, # <<<<<<<<<<<<<< * corner_rule=self.corner_rule * ) */ - __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_self->num_players); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 785, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_self->num_players); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 848, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - /* "blokus_gym/core/blokus_cython.pyx":786 + /* "blokus_cython.pyx":849 * pieces=self.piece_set, * num_players=self.num_players, * corner_rule=self.corner_rule # <<<<<<<<<<<<<< * ) * */ - __pyx_t_5 = __Pyx_PyBool_FromLong(__pyx_v_self->corner_rule); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 786, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyBool_FromLong(__pyx_v_self->corner_rule); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 849, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = 1; { PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 4 : 0)] = {__pyx_t_2, NULL}; - __pyx_t_7 = __Pyx_MakeVectorcallBuilderKwds(4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 782, __pyx_L1_error) + __pyx_t_7 = __Pyx_MakeVectorcallBuilderKwds(4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); - if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_board_size, __pyx_t_3, __pyx_t_7, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 782, __pyx_L1_error) - if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_pieces, ((PyObject *)__pyx_v_self->piece_set), __pyx_t_7, __pyx_callargs+1, 1) < (0)) __PYX_ERR(0, 782, __pyx_L1_error) - if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_num_players, __pyx_t_4, __pyx_t_7, __pyx_callargs+1, 2) < (0)) __PYX_ERR(0, 782, __pyx_L1_error) - if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_corner_rule, __pyx_t_5, __pyx_t_7, __pyx_callargs+1, 3) < (0)) __PYX_ERR(0, 782, __pyx_L1_error) - __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_7); + if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_board_size, __pyx_t_3, __pyx_t_7, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 845, __pyx_L1_error) + if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_pieces, ((PyObject *)__pyx_v_self->piece_set), __pyx_t_7, __pyx_callargs+1, 1) < (0)) __PYX_ERR(0, 845, __pyx_L1_error) + if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_num_players, __pyx_t_4, __pyx_t_7, __pyx_callargs+1, 2) < (0)) __PYX_ERR(0, 845, __pyx_L1_error) + if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_corner_rule, __pyx_t_5, __pyx_t_7, __pyx_callargs+1, 3) < (0)) __PYX_ERR(0, 845, __pyx_L1_error) + __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_BlokusGame, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_7); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 782, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 845, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_1); } - __pyx_v_new_game = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_t_1); + __pyx_v_new_game = ((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":789 + /* "blokus_cython.pyx":852 * ) * * new_game.board = self.board.copy() # <<<<<<<<<<<<<< @@ -38682,7 +40025,7 @@ static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_pf_ PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL}; __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_copy, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 789, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 852, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } __Pyx_GIVEREF(__pyx_t_1); @@ -38691,7 +40034,7 @@ static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_pf_ __pyx_v_new_game->board = __pyx_t_1; __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":790 + /* "blokus_cython.pyx":853 * * new_game.board = self.board.copy() * new_game.current_player = self.current_player # <<<<<<<<<<<<<< @@ -38701,7 +40044,7 @@ static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_pf_ __pyx_t_8 = __pyx_v_self->current_player; __pyx_v_new_game->current_player = __pyx_t_8; - /* "blokus_gym/core/blokus_cython.pyx":791 + /* "blokus_cython.pyx":854 * new_game.board = self.board.copy() * new_game.current_player = self.current_player * new_game.rounds = self.rounds # <<<<<<<<<<<<<< @@ -38711,7 +40054,7 @@ static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_pf_ __pyx_t_8 = __pyx_v_self->rounds; __pyx_v_new_game->rounds = __pyx_t_8; - /* "blokus_gym/core/blokus_cython.pyx":792 + /* "blokus_cython.pyx":855 * new_game.current_player = self.current_player * new_game.rounds = self.rounds * new_game.game_over = self.game_over # <<<<<<<<<<<<<< @@ -38721,7 +40064,7 @@ static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_pf_ __pyx_t_9 = __pyx_v_self->game_over; __pyx_v_new_game->game_over = __pyx_t_9; - /* "blokus_gym/core/blokus_cython.pyx":794 + /* "blokus_cython.pyx":857 * new_game.game_over = self.game_over * * for i, p in enumerate(self.players): # <<<<<<<<<<<<<< @@ -38736,32 +40079,32 @@ static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_pf_ { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 794, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 857, __pyx_L1_error) #endif if (__pyx_t_10 >= __pyx_temp) break; } __pyx_t_5 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_7, __pyx_t_10, __Pyx_ReferenceSharing_OwnStrongReference); ++__pyx_t_10; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 794, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 857, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_XDECREF_SET(__pyx_v_p, __pyx_t_5); __pyx_t_5 = 0; __Pyx_INCREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_1); - __pyx_t_5 = __Pyx_PyLong_AddObjC(__pyx_t_1, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 794, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyLong_AddObjC(__pyx_t_1, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 857, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = __pyx_t_5; __pyx_t_5 = 0; - /* "blokus_gym/core/blokus_cython.pyx":795 + /* "blokus_cython.pyx":858 * * for i, p in enumerate(self.players): * new_game.players[i].available_pieces = p.available_pieces.copy() # <<<<<<<<<<<<<< * new_game.players[i].corners = p.corners.copy() * new_game.players[i].score = p.score */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_p, __pyx_mstate_global->__pyx_n_u_available_pieces); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 795, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_p, __pyx_mstate_global->__pyx_n_u_available_pieces); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 858, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); @@ -38771,27 +40114,27 @@ static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_pf_ __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_copy, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 795, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 858, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); } if (unlikely(__pyx_v_new_game->players == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 795, __pyx_L1_error) + __PYX_ERR(0, 858, __pyx_L1_error) } - __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_new_game->players, __pyx_v_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 795, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_new_game->players, __pyx_v_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 858, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_available_pieces, __pyx_t_5) < (0)) __PYX_ERR(0, 795, __pyx_L1_error) + if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_available_pieces, __pyx_t_5) < (0)) __PYX_ERR(0, 858, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":796 + /* "blokus_cython.pyx":859 * for i, p in enumerate(self.players): * new_game.players[i].available_pieces = p.available_pieces.copy() * new_game.players[i].corners = p.corners.copy() # <<<<<<<<<<<<<< * new_game.players[i].score = p.score * new_game.players[i].has_started = p.has_started */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_p, __pyx_mstate_global->__pyx_n_u_corners); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 796, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_p, __pyx_mstate_global->__pyx_n_u_corners); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __pyx_t_4; __Pyx_INCREF(__pyx_t_5); @@ -38801,77 +40144,77 @@ static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_pf_ __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_copy, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 796, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); } if (unlikely(__pyx_v_new_game->players == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 796, __pyx_L1_error) + __PYX_ERR(0, 859, __pyx_L1_error) } - __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_new_game->players, __pyx_v_i); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 796, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_new_game->players, __pyx_v_i); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - if (__Pyx_PyObject_SetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_corners, __pyx_t_3) < (0)) __PYX_ERR(0, 796, __pyx_L1_error) + if (__Pyx_PyObject_SetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_corners, __pyx_t_3) < (0)) __PYX_ERR(0, 859, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":797 + /* "blokus_cython.pyx":860 * new_game.players[i].available_pieces = p.available_pieces.copy() * new_game.players[i].corners = p.corners.copy() * new_game.players[i].score = p.score # <<<<<<<<<<<<<< * new_game.players[i].has_started = p.has_started * new_game.players[i].can_move = p.can_move */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_p, __pyx_mstate_global->__pyx_n_u_score); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 797, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_p, __pyx_mstate_global->__pyx_n_u_score); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 860, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(__pyx_v_new_game->players == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 797, __pyx_L1_error) + __PYX_ERR(0, 860, __pyx_L1_error) } - __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_new_game->players, __pyx_v_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 797, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_new_game->players, __pyx_v_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 860, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_score, __pyx_t_4) < (0)) __PYX_ERR(0, 797, __pyx_L1_error) + if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_score, __pyx_t_4) < (0)) __PYX_ERR(0, 860, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":798 + /* "blokus_cython.pyx":861 * new_game.players[i].corners = p.corners.copy() * new_game.players[i].score = p.score * new_game.players[i].has_started = p.has_started # <<<<<<<<<<<<<< * new_game.players[i].can_move = p.can_move * */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_p, __pyx_mstate_global->__pyx_n_u_has_started); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 798, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_p, __pyx_mstate_global->__pyx_n_u_has_started); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__pyx_v_new_game->players == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 798, __pyx_L1_error) + __PYX_ERR(0, 861, __pyx_L1_error) } - __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_new_game->players, __pyx_v_i); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 798, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_new_game->players, __pyx_v_i); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - if (__Pyx_PyObject_SetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_has_started, __pyx_t_3) < (0)) __PYX_ERR(0, 798, __pyx_L1_error) + if (__Pyx_PyObject_SetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_has_started, __pyx_t_3) < (0)) __PYX_ERR(0, 861, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":799 + /* "blokus_cython.pyx":862 * new_game.players[i].score = p.score * new_game.players[i].has_started = p.has_started * new_game.players[i].can_move = p.can_move # <<<<<<<<<<<<<< * * return new_game */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_p, __pyx_mstate_global->__pyx_n_u_can_move); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 799, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_p, __pyx_mstate_global->__pyx_n_u_can_move); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 862, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(__pyx_v_new_game->players == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 799, __pyx_L1_error) + __PYX_ERR(0, 862, __pyx_L1_error) } - __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_new_game->players, __pyx_v_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 799, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_new_game->players, __pyx_v_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 862, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_can_move, __pyx_t_4) < (0)) __PYX_ERR(0, 799, __pyx_L1_error) + if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_can_move, __pyx_t_4) < (0)) __PYX_ERR(0, 862, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "blokus_gym/core/blokus_cython.pyx":794 + /* "blokus_cython.pyx":857 * new_game.game_over = self.game_over * * for i, p in enumerate(self.players): # <<<<<<<<<<<<<< @@ -38882,7 +40225,7 @@ static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_pf_ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "blokus_gym/core/blokus_cython.pyx":801 + /* "blokus_cython.pyx":864 * new_game.players[i].can_move = p.can_move * * return new_game # <<<<<<<<<<<<<< @@ -38892,7 +40235,7 @@ static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_pf_ __pyx_r = __pyx_v_new_game; goto __pyx_L0; - /* "blokus_gym/core/blokus_cython.pyx":780 + /* "blokus_cython.pyx":843 * } * * def copy(self) -> BlokusGame: # <<<<<<<<<<<<<< @@ -38908,7 +40251,7 @@ static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_pf_ __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_7); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_new_game); @@ -38919,7 +40262,7 @@ static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_pf_ return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":399 +/* "blokus_cython.pyx":404 * """Cython-optimized Blokus game engine.""" * * cdef public int board_size # <<<<<<<<<<<<<< @@ -38928,21 +40271,21 @@ static struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_pf_ */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_10board_size_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_10board_size_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_10board_size_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_10board_size_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_10board_size___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_10board_size___get__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_10board_size___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_10board_size___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -38951,7 +40294,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_10boar int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->board_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 399, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->board_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 404, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; @@ -38960,7 +40303,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_10boar /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.board_size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.board_size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -38969,40 +40312,40 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_10boar } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_10board_size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_10board_size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_10BlokusGame_10board_size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_10BlokusGame_10board_size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_10board_size_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_10board_size_2__set__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_10board_size_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_10BlokusGame_10board_size_2__set__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __pyx_t_1 = __Pyx_PyLong_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 399, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyLong_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 404, __pyx_L1_error) __pyx_v_self->board_size = __pyx_t_1; /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.board_size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.board_size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":400 +/* "blokus_cython.pyx":405 * * cdef public int board_size * cdef public PieceSet piece_set # <<<<<<<<<<<<<< @@ -39011,21 +40354,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_10board_size */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_9piece_set_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_9piece_set_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_9piece_set_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_9piece_set_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_9piece_set___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_9piece_set___get__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_9piece_set___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_9piece_set___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); @@ -39042,21 +40385,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_9piece } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_9piece_set_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_9piece_set_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_10BlokusGame_9piece_set_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_10BlokusGame_9piece_set_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_9piece_set_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_9piece_set_2__set__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_9piece_set_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_10BlokusGame_9piece_set_2__set__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -39066,11 +40409,11 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_9piece_set_2 __Pyx_RefNannySetupContext("__set__", 0); __pyx_t_1 = __pyx_v_value; __Pyx_INCREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceSet))))) __PYX_ERR(0, 400, __pyx_L1_error) + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_13blokus_cython_PieceSet))))) __PYX_ERR(0, 405, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF((PyObject *)__pyx_v_self->piece_set); __Pyx_DECREF((PyObject *)__pyx_v_self->piece_set); - __pyx_v_self->piece_set = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)__pyx_t_1); + __pyx_v_self->piece_set = ((struct __pyx_obj_13blokus_cython_PieceSet *)__pyx_t_1); __pyx_t_1 = 0; /* function exit code */ @@ -39078,7 +40421,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_9piece_set_2 goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.piece_set.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.piece_set.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); @@ -39086,21 +40429,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_9piece_set_2 } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_9piece_set_5__del__(PyObject *__pyx_v_self); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_9piece_set_5__del__(PyObject *__pyx_v_self) { +static int __pyx_pw_13blokus_cython_10BlokusGame_9piece_set_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_13blokus_cython_10BlokusGame_9piece_set_5__del__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_9piece_set_4__del__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_9piece_set_4__del__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_9piece_set_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { +static int __pyx_pf_13blokus_cython_10BlokusGame_9piece_set_4__del__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__", 0); @@ -39108,7 +40451,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_9piece_set_4 __Pyx_GIVEREF(Py_None); __Pyx_GOTREF((PyObject *)__pyx_v_self->piece_set); __Pyx_DECREF((PyObject *)__pyx_v_self->piece_set); - __pyx_v_self->piece_set = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)Py_None); + __pyx_v_self->piece_set = ((struct __pyx_obj_13blokus_cython_PieceSet *)Py_None); /* function exit code */ __pyx_r = 0; @@ -39116,7 +40459,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_9piece_set_4 return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":401 +/* "blokus_cython.pyx":406 * cdef public int board_size * cdef public PieceSet piece_set * cdef public int num_players # <<<<<<<<<<<<<< @@ -39125,21 +40468,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_9piece_set_4 */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_players_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_players_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_11num_players_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_11num_players_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_players___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_11num_players___get__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_players___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_11num_players___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -39148,7 +40491,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->num_players); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 401, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->num_players); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; @@ -39157,7 +40500,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.num_players.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.num_players.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -39166,40 +40509,40 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_ } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_players_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_players_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_10BlokusGame_11num_players_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_10BlokusGame_11num_players_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_players_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_11num_players_2__set__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_players_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_10BlokusGame_11num_players_2__set__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __pyx_t_1 = __Pyx_PyLong_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 401, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyLong_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 406, __pyx_L1_error) __pyx_v_self->num_players = __pyx_t_1; /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.num_players.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.num_players.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":402 +/* "blokus_cython.pyx":407 * cdef public PieceSet piece_set * cdef public int num_players * cdef public bint corner_rule # <<<<<<<<<<<<<< @@ -39208,21 +40551,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_player */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_11corner_rule_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_11corner_rule_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_11corner_rule_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_11corner_rule_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11corner_rule___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_11corner_rule___get__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11corner_rule___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_11corner_rule___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -39231,7 +40574,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11corn int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->corner_rule); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 402, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->corner_rule); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 407, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; @@ -39240,7 +40583,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11corn /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.corner_rule.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.corner_rule.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -39249,40 +40592,40 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11corn } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_11corner_rule_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_11corner_rule_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_10BlokusGame_11corner_rule_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_10BlokusGame_11corner_rule_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11corner_rule_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_11corner_rule_2__set__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11corner_rule_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_10BlokusGame_11corner_rule_2__set__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 402, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 407, __pyx_L1_error) __pyx_v_self->corner_rule = __pyx_t_1; /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.corner_rule.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.corner_rule.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":403 +/* "blokus_cython.pyx":408 * cdef public int num_players * cdef public bint corner_rule * cdef public object board # <<<<<<<<<<<<<< @@ -39291,21 +40634,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_11corner_rul */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_5board_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_5board_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_5board_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_5board_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_5board___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_5board___get__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_5board___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_5board___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); @@ -39322,21 +40665,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_5board } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_5board_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_5board_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_10BlokusGame_5board_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_10BlokusGame_5board_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_5board_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_5board_2__set__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_5board_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_10BlokusGame_5board_2__set__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__", 0); @@ -39353,21 +40696,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_5board_2__se } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_5board_5__del__(PyObject *__pyx_v_self); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_5board_5__del__(PyObject *__pyx_v_self) { +static int __pyx_pw_13blokus_cython_10BlokusGame_5board_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_13blokus_cython_10BlokusGame_5board_5__del__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_5board_4__del__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_5board_4__del__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_5board_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { +static int __pyx_pf_13blokus_cython_10BlokusGame_5board_4__del__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__", 0); @@ -39383,7 +40726,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_5board_4__de return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":404 +/* "blokus_cython.pyx":409 * cdef public bint corner_rule * cdef public object board * cdef public list players # <<<<<<<<<<<<<< @@ -39392,21 +40735,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_5board_4__de */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_7players_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_7players_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_7players_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_7players_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_7players___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_7players___get__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_7players___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_7players___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); @@ -39423,21 +40766,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_7playe } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_7players_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_7players_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_10BlokusGame_7players_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_10BlokusGame_7players_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_7players_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_7players_2__set__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_7players_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_10BlokusGame_7players_2__set__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -39447,7 +40790,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_7players_2__ __Pyx_RefNannySetupContext("__set__", 0); __pyx_t_1 = __pyx_v_value; __Pyx_INCREF(__pyx_t_1); - if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_t_1))) __PYX_ERR(0, 404, __pyx_L1_error) + if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_t_1))) __PYX_ERR(0, 409, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->players); __Pyx_DECREF(__pyx_v_self->players); @@ -39459,7 +40802,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_7players_2__ goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.players.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.players.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); @@ -39467,21 +40810,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_7players_2__ } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_7players_5__del__(PyObject *__pyx_v_self); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_7players_5__del__(PyObject *__pyx_v_self) { +static int __pyx_pw_13blokus_cython_10BlokusGame_7players_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_13blokus_cython_10BlokusGame_7players_5__del__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_7players_4__del__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_7players_4__del__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_7players_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { +static int __pyx_pf_13blokus_cython_10BlokusGame_7players_4__del__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__", 0); @@ -39497,7 +40840,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_7players_4__ return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":405 +/* "blokus_cython.pyx":410 * cdef public object board * cdef public list players * cdef public int current_player # <<<<<<<<<<<<<< @@ -39506,21 +40849,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_7players_4__ */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_14current_player_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_14current_player_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_14current_player_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_14current_player_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14current_player___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_14current_player___get__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14current_player___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_14current_player___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -39529,7 +40872,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14curr int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->current_player); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 405, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->current_player); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; @@ -39538,7 +40881,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14curr /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.current_player.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.current_player.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -39547,40 +40890,40 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14curr } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_14current_player_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_14current_player_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_10BlokusGame_14current_player_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_10BlokusGame_14current_player_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14current_player_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_14current_player_2__set__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14current_player_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_10BlokusGame_14current_player_2__set__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __pyx_t_1 = __Pyx_PyLong_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 405, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyLong_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 410, __pyx_L1_error) __pyx_v_self->current_player = __pyx_t_1; /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.current_player.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.current_player.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":406 +/* "blokus_cython.pyx":411 * cdef public list players * cdef public int current_player * cdef public int rounds # <<<<<<<<<<<<<< @@ -39589,21 +40932,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_14current_pl */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_6rounds_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_6rounds_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_6rounds_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_6rounds_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6rounds___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_6rounds___get__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6rounds___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_6rounds___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -39612,7 +40955,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6round int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->rounds); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 406, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->rounds); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; @@ -39621,7 +40964,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6round /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.rounds.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.rounds.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -39630,40 +40973,40 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6round } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_6rounds_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_6rounds_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_10BlokusGame_6rounds_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_10BlokusGame_6rounds_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6rounds_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_6rounds_2__set__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6rounds_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_10BlokusGame_6rounds_2__set__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __pyx_t_1 = __Pyx_PyLong_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 406, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyLong_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 411, __pyx_L1_error) __pyx_v_self->rounds = __pyx_t_1; /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.rounds.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.rounds.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":407 +/* "blokus_cython.pyx":412 * cdef public int current_player * cdef public int rounds * cdef public bint game_over # <<<<<<<<<<<<<< @@ -39672,21 +41015,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_6rounds_2__s */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_9game_over_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_9game_over_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_9game_over_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_9game_over_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_9game_over___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_9game_over___get__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_9game_over___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_9game_over___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -39695,7 +41038,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_9game_ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->game_over); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 407, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->game_over); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 412, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; @@ -39704,7 +41047,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_9game_ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.game_over.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.game_over.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -39713,40 +41056,40 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_9game_ } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_9game_over_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_9game_over_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_10BlokusGame_9game_over_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_10BlokusGame_9game_over_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_9game_over_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_9game_over_2__set__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_9game_over_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_10BlokusGame_9game_over_2__set__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 407, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 412, __pyx_L1_error) __pyx_v_self->game_over = __pyx_t_1; /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.game_over.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.game_over.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":408 +/* "blokus_cython.pyx":413 * cdef public int rounds * cdef public bint game_over * cdef public list _action_moves # <<<<<<<<<<<<<< @@ -39755,21 +41098,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_9game_over_2 */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_13_action_moves_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_13_action_moves_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_13_action_moves_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_13_action_moves_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_13_action_moves___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_13_action_moves___get__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_13_action_moves___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_13_action_moves___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); @@ -39786,21 +41129,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_13_act } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_13_action_moves_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_13_action_moves_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_10BlokusGame_13_action_moves_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_10BlokusGame_13_action_moves_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_13_action_moves_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_13_action_moves_2__set__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_13_action_moves_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_10BlokusGame_13_action_moves_2__set__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -39810,7 +41153,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_13_action_mo __Pyx_RefNannySetupContext("__set__", 0); __pyx_t_1 = __pyx_v_value; __Pyx_INCREF(__pyx_t_1); - if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_t_1))) __PYX_ERR(0, 408, __pyx_L1_error) + if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_t_1))) __PYX_ERR(0, 413, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->_action_moves); __Pyx_DECREF(__pyx_v_self->_action_moves); @@ -39822,7 +41165,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_13_action_mo goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame._action_moves.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame._action_moves.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); @@ -39830,21 +41173,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_13_action_mo } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_13_action_moves_5__del__(PyObject *__pyx_v_self); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_13_action_moves_5__del__(PyObject *__pyx_v_self) { +static int __pyx_pw_13blokus_cython_10BlokusGame_13_action_moves_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_13blokus_cython_10BlokusGame_13_action_moves_5__del__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_13_action_moves_4__del__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_13_action_moves_4__del__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_13_action_moves_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { +static int __pyx_pf_13blokus_cython_10BlokusGame_13_action_moves_4__del__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__", 0); @@ -39860,7 +41203,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_13_action_mo return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":409 +/* "blokus_cython.pyx":414 * cdef public bint game_over * cdef public list _action_moves * cdef public dict _move_to_action # <<<<<<<<<<<<<< @@ -39869,21 +41212,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_13_action_mo */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_15_move_to_action_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_15_move_to_action_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_15_move_to_action_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_15_move_to_action_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_15_move_to_action___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_15_move_to_action___get__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_15_move_to_action___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_15_move_to_action___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); @@ -39900,21 +41243,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_15_mov } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_15_move_to_action_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_15_move_to_action_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_10BlokusGame_15_move_to_action_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_10BlokusGame_15_move_to_action_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_15_move_to_action_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_15_move_to_action_2__set__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_15_move_to_action_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_10BlokusGame_15_move_to_action_2__set__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -39924,7 +41267,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_15_move_to_a __Pyx_RefNannySetupContext("__set__", 0); __pyx_t_1 = __pyx_v_value; __Pyx_INCREF(__pyx_t_1); - if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("dict", __pyx_t_1))) __PYX_ERR(0, 409, __pyx_L1_error) + if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("dict", __pyx_t_1))) __PYX_ERR(0, 414, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->_move_to_action); __Pyx_DECREF(__pyx_v_self->_move_to_action); @@ -39936,7 +41279,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_15_move_to_a goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame._move_to_action.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame._move_to_action.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); @@ -39944,21 +41287,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_15_move_to_a } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_15_move_to_action_5__del__(PyObject *__pyx_v_self); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_15_move_to_action_5__del__(PyObject *__pyx_v_self) { +static int __pyx_pw_13blokus_cython_10BlokusGame_15_move_to_action_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_13blokus_cython_10BlokusGame_15_move_to_action_5__del__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_15_move_to_action_4__del__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_15_move_to_action_4__del__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_15_move_to_action_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { +static int __pyx_pf_13blokus_cython_10BlokusGame_15_move_to_action_4__del__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__", 0); @@ -39974,7 +41317,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_15_move_to_a return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":410 +/* "blokus_cython.pyx":415 * cdef public list _action_moves * cdef public dict _move_to_action * cdef public list _actions_by_piece # <<<<<<<<<<<<<< @@ -39983,21 +41326,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_15_move_to_a */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_actions_by_piece_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_actions_by_piece_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_17_actions_by_piece_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_17_actions_by_piece_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_actions_by_piece___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_17_actions_by_piece___get__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_actions_by_piece___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_17_actions_by_piece___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); @@ -40014,21 +41357,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_act } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_actions_by_piece_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_actions_by_piece_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_10BlokusGame_17_actions_by_piece_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_10BlokusGame_17_actions_by_piece_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_actions_by_piece_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_17_actions_by_piece_2__set__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_actions_by_piece_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_10BlokusGame_17_actions_by_piece_2__set__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -40038,7 +41381,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_actions_b __Pyx_RefNannySetupContext("__set__", 0); __pyx_t_1 = __pyx_v_value; __Pyx_INCREF(__pyx_t_1); - if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_t_1))) __PYX_ERR(0, 410, __pyx_L1_error) + if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_t_1))) __PYX_ERR(0, 415, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->_actions_by_piece); __Pyx_DECREF(__pyx_v_self->_actions_by_piece); @@ -40050,7 +41393,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_actions_b goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame._actions_by_piece.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame._actions_by_piece.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); @@ -40058,21 +41401,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_actions_b } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_actions_by_piece_5__del__(PyObject *__pyx_v_self); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_actions_by_piece_5__del__(PyObject *__pyx_v_self) { +static int __pyx_pw_13blokus_cython_10BlokusGame_17_actions_by_piece_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_13blokus_cython_10BlokusGame_17_actions_by_piece_5__del__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_actions_by_piece_4__del__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_17_actions_by_piece_4__del__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_actions_by_piece_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { +static int __pyx_pf_13blokus_cython_10BlokusGame_17_actions_by_piece_4__del__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__", 0); @@ -40088,7 +41431,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_actions_b return __pyx_r; } -/* "blokus_gym/core/blokus_cython.pyx":411 +/* "blokus_cython.pyx":416 * cdef public dict _move_to_action * cdef public list _actions_by_piece * cdef public list _starting_corners # <<<<<<<<<<<<<< @@ -40097,21 +41440,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_actions_b */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_starting_corners_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_starting_corners_1__get__(PyObject *__pyx_v_self) { +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_17_starting_corners_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_17_starting_corners_1__get__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_starting_corners___get__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_17_starting_corners___get__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_starting_corners___get__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_17_starting_corners___get__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); @@ -40128,21 +41471,21 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_sta } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_starting_corners_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_starting_corners_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pw_13blokus_cython_10BlokusGame_17_starting_corners_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_13blokus_cython_10BlokusGame_17_starting_corners_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_starting_corners_2__set__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_17_starting_corners_2__set__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_starting_corners_2__set__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value) { +static int __pyx_pf_13blokus_cython_10BlokusGame_17_starting_corners_2__set__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -40152,7 +41495,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_starting_ __Pyx_RefNannySetupContext("__set__", 0); __pyx_t_1 = __pyx_v_value; __Pyx_INCREF(__pyx_t_1); - if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_t_1))) __PYX_ERR(0, 411, __pyx_L1_error) + if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_t_1))) __PYX_ERR(0, 416, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->_starting_corners); __Pyx_DECREF(__pyx_v_self->_starting_corners); @@ -40164,7 +41507,7 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_starting_ goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame._starting_corners.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame._starting_corners.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); @@ -40172,21 +41515,21 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_starting_ } /* Python wrapper */ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_starting_corners_5__del__(PyObject *__pyx_v_self); /*proto*/ -static int __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_starting_corners_5__del__(PyObject *__pyx_v_self) { +static int __pyx_pw_13blokus_cython_10BlokusGame_17_starting_corners_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_13blokus_cython_10BlokusGame_17_starting_corners_5__del__(PyObject *__pyx_v_self) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_starting_corners_4__del__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_17_starting_corners_4__del__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_starting_corners_4__del__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { +static int __pyx_pf_13blokus_cython_10BlokusGame_17_starting_corners_4__del__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__", 0); @@ -40209,15 +41552,15 @@ static int __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_starting_ */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_27__reduce_cython__(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_37__reduce_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_27__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_27__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_27__reduce_cython__(PyObject *__pyx_v_self, +static PyMethodDef __pyx_mdef_13blokus_cython_10BlokusGame_37__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_37__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_37__reduce_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -40243,14 +41586,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; if (unlikely(__pyx_kwds_len < 0)) return NULL; if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_26__reduce_cython__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self)); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_36__reduce_cython__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_26__reduce_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self) { +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_36__reduce_cython__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self) { PyObject *__pyx_v_state = 0; PyObject *__pyx_v__dict = 0; int __pyx_v_use_setstate; @@ -40555,7 +41898,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_26__re __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_state); @@ -40573,15 +41916,15 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_26__re */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_29__setstate_cython__(PyObject *__pyx_v_self, +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_39__setstate_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_29__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_29__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_29__setstate_cython__(PyObject *__pyx_v_self, +static PyMethodDef __pyx_mdef_13blokus_cython_10BlokusGame_39__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_39__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_13blokus_cython_10BlokusGame_39__setstate_cython__(PyObject *__pyx_v_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -40643,11 +41986,11 @@ PyObject *__pyx_args, PyObject *__pyx_kwds for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_28__setstate_cython__(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v_self), __pyx_v___pyx_state); + __pyx_r = __pyx_pf_13blokus_cython_10BlokusGame_38__setstate_cython__(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v_self), __pyx_v___pyx_state); /* function exit code */ for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { @@ -40657,7 +42000,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_28__setstate_cython__(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pf_13blokus_cython_10BlokusGame_38__setstate_cython__(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v_self, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -40679,7 +42022,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_28__se PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'"); __PYX_ERR(1, 17, __pyx_L1_error) } - __pyx_t_2 = __pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_BlokusGame__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17, __pyx_L1_error) + __pyx_t_2 = __pyx_f_13blokus_cython___pyx_unpickle_BlokusGame__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -40697,7 +42040,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_28__se __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.BlokusGame.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.BlokusGame.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -40714,15 +42057,15 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10BlokusGame_28__se */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_1__pyx_unpickle_Board(PyObject *__pyx_self, +static PyObject *__pyx_pw_13blokus_cython_3__pyx_unpickle_Board(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_1__pyx_unpickle_Board = {"__pyx_unpickle_Board", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_1__pyx_unpickle_Board, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_1__pyx_unpickle_Board(PyObject *__pyx_self, +static PyMethodDef __pyx_mdef_13blokus_cython_3__pyx_unpickle_Board = {"__pyx_unpickle_Board", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_3__pyx_unpickle_Board, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_13blokus_cython_3__pyx_unpickle_Board(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -40800,12 +42143,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.__pyx_unpickle_Board", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.__pyx_unpickle_Board", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(1, 4, __pyx_L1_error) - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Board(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + __pyx_r = __pyx_pf_13blokus_cython_2__pyx_unpickle_Board(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); /* function exit code */ goto __pyx_L0; @@ -40824,7 +42167,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Board(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pf_13blokus_cython_2__pyx_unpickle_Board(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_v___pyx_result = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations @@ -40854,7 +42197,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Boar * if __pyx_state is not None: * __pyx_unpickle_Board__set_state( __pyx_result, __pyx_state) */ - __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board); + __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Board); __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0; { @@ -40888,7 +42231,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Boar PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'"); __PYX_ERR(1, 9, __pyx_L1_error) } - __pyx_t_2 = __pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Board__set_state(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9, __pyx_L1_error) + __pyx_t_2 = __pyx_f_13blokus_cython___pyx_unpickle_Board__set_state(((struct __pyx_obj_13blokus_cython_Board *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -40925,7 +42268,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Boar __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.__pyx_unpickle_Board", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.__pyx_unpickle_Board", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v___pyx_result); @@ -40942,7 +42285,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Boar * __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3) */ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Board__set_state(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_f_13blokus_cython___pyx_unpickle_Board__set_state(struct __pyx_obj_13blokus_cython_Board *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -41002,7 +42345,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Board __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __PYX_XCLEAR_MEMVIEW(&__pyx_t_2, 1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.__pyx_unpickle_Board__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.__pyx_unpickle_Board__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -41019,15 +42362,15 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Board */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_3__pyx_unpickle_Move(PyObject *__pyx_self, +static PyObject *__pyx_pw_13blokus_cython_5__pyx_unpickle_Move(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_3__pyx_unpickle_Move = {"__pyx_unpickle_Move", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_3__pyx_unpickle_Move, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_3__pyx_unpickle_Move(PyObject *__pyx_self, +static PyMethodDef __pyx_mdef_13blokus_cython_5__pyx_unpickle_Move = {"__pyx_unpickle_Move", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5__pyx_unpickle_Move, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_13blokus_cython_5__pyx_unpickle_Move(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -41105,12 +42448,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.__pyx_unpickle_Move", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.__pyx_unpickle_Move", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(1, 4, __pyx_L1_error) - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_2__pyx_unpickle_Move(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + __pyx_r = __pyx_pf_13blokus_cython_4__pyx_unpickle_Move(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); /* function exit code */ goto __pyx_L0; @@ -41129,7 +42472,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_2__pyx_unpickle_Move(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pf_13blokus_cython_4__pyx_unpickle_Move(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_v___pyx_result = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations @@ -41159,7 +42502,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_2__pyx_unpickle_Mov * if __pyx_state is not None: * __pyx_unpickle_Move__set_state( __pyx_result, __pyx_state) */ - __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Move); + __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Move); __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0; { @@ -41193,7 +42536,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_2__pyx_unpickle_Mov PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'"); __PYX_ERR(1, 9, __pyx_L1_error) } - __pyx_t_2 = __pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Move__set_state(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9, __pyx_L1_error) + __pyx_t_2 = __pyx_f_13blokus_cython___pyx_unpickle_Move__set_state(((struct __pyx_obj_13blokus_cython_Move *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -41230,7 +42573,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_2__pyx_unpickle_Mov __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.__pyx_unpickle_Move", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.__pyx_unpickle_Move", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v___pyx_result); @@ -41247,7 +42590,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_2__pyx_unpickle_Mov * __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 4) */ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Move__set_state(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_f_13blokus_cython___pyx_unpickle_Move__set_state(struct __pyx_obj_13blokus_cython_Move *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -41304,7 +42647,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Move_ goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.__pyx_unpickle_Move__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.__pyx_unpickle_Move__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -41321,15 +42664,15 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Move_ */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5__pyx_unpickle_PieceOrientation(PyObject *__pyx_self, +static PyObject *__pyx_pw_13blokus_cython_7__pyx_unpickle_PieceOrientation(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_5__pyx_unpickle_PieceOrientation = {"__pyx_unpickle_PieceOrientation", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5__pyx_unpickle_PieceOrientation, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_5__pyx_unpickle_PieceOrientation(PyObject *__pyx_self, +static PyMethodDef __pyx_mdef_13blokus_cython_7__pyx_unpickle_PieceOrientation = {"__pyx_unpickle_PieceOrientation", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_7__pyx_unpickle_PieceOrientation, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_13blokus_cython_7__pyx_unpickle_PieceOrientation(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -41407,12 +42750,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.__pyx_unpickle_PieceOrientation", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.__pyx_unpickle_PieceOrientation", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(1, 4, __pyx_L1_error) - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_4__pyx_unpickle_PieceOrientation(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + __pyx_r = __pyx_pf_13blokus_cython_6__pyx_unpickle_PieceOrientation(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); /* function exit code */ goto __pyx_L0; @@ -41431,7 +42774,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4__pyx_unpickle_PieceOrientation(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pf_13blokus_cython_6__pyx_unpickle_PieceOrientation(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_v___pyx_result = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations @@ -41461,7 +42804,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4__pyx_unpickle_Pie * if __pyx_state is not None: * __pyx_unpickle_PieceOrientation__set_state( __pyx_result, __pyx_state) */ - __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceOrientation); + __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_13blokus_cython_PieceOrientation); __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0; { @@ -41495,7 +42838,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4__pyx_unpickle_Pie PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'"); __PYX_ERR(1, 9, __pyx_L1_error) } - __pyx_t_2 = __pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_PieceOrientation__set_state(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9, __pyx_L1_error) + __pyx_t_2 = __pyx_f_13blokus_cython___pyx_unpickle_PieceOrientation__set_state(((struct __pyx_obj_13blokus_cython_PieceOrientation *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -41532,7 +42875,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4__pyx_unpickle_Pie __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.__pyx_unpickle_PieceOrientation", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.__pyx_unpickle_PieceOrientation", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v___pyx_result); @@ -41549,7 +42892,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_4__pyx_unpickle_Pie * __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 4) */ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_PieceOrientation__set_state(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_f_13blokus_cython___pyx_unpickle_PieceOrientation__set_state(struct __pyx_obj_13blokus_cython_PieceOrientation *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -41612,7 +42955,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Piece goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.__pyx_unpickle_PieceOrientation__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.__pyx_unpickle_PieceOrientation__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -41629,15 +42972,15 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Piece */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_7__pyx_unpickle_Piece(PyObject *__pyx_self, +static PyObject *__pyx_pw_13blokus_cython_9__pyx_unpickle_Piece(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_7__pyx_unpickle_Piece = {"__pyx_unpickle_Piece", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_7__pyx_unpickle_Piece, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_7__pyx_unpickle_Piece(PyObject *__pyx_self, +static PyMethodDef __pyx_mdef_13blokus_cython_9__pyx_unpickle_Piece = {"__pyx_unpickle_Piece", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_9__pyx_unpickle_Piece, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_13blokus_cython_9__pyx_unpickle_Piece(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -41715,12 +43058,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.__pyx_unpickle_Piece", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.__pyx_unpickle_Piece", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(1, 4, __pyx_L1_error) - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_6__pyx_unpickle_Piece(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + __pyx_r = __pyx_pf_13blokus_cython_8__pyx_unpickle_Piece(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); /* function exit code */ goto __pyx_L0; @@ -41739,7 +43082,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_6__pyx_unpickle_Piece(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pf_13blokus_cython_8__pyx_unpickle_Piece(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_v___pyx_result = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations @@ -41769,7 +43112,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_6__pyx_unpickle_Pie * if __pyx_state is not None: * __pyx_unpickle_Piece__set_state( __pyx_result, __pyx_state) */ - __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece); + __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece); __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0; { @@ -41803,7 +43146,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_6__pyx_unpickle_Pie PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'"); __PYX_ERR(1, 9, __pyx_L1_error) } - __pyx_t_2 = __pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Piece__set_state(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9, __pyx_L1_error) + __pyx_t_2 = __pyx_f_13blokus_cython___pyx_unpickle_Piece__set_state(((struct __pyx_obj_13blokus_cython_Piece *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -41840,7 +43183,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_6__pyx_unpickle_Pie __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.__pyx_unpickle_Piece", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.__pyx_unpickle_Piece", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v___pyx_result); @@ -41857,7 +43200,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_6__pyx_unpickle_Pie * __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2) */ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Piece__set_state(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_f_13blokus_cython___pyx_unpickle_Piece__set_state(struct __pyx_obj_13blokus_cython_Piece *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -41909,7 +43252,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Piece goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.__pyx_unpickle_Piece__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.__pyx_unpickle_Piece__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -41926,15 +43269,15 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Piece */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_9__pyx_unpickle_PieceSet(PyObject *__pyx_self, +static PyObject *__pyx_pw_13blokus_cython_11__pyx_unpickle_PieceSet(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_9__pyx_unpickle_PieceSet = {"__pyx_unpickle_PieceSet", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_9__pyx_unpickle_PieceSet, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_9__pyx_unpickle_PieceSet(PyObject *__pyx_self, +static PyMethodDef __pyx_mdef_13blokus_cython_11__pyx_unpickle_PieceSet = {"__pyx_unpickle_PieceSet", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_11__pyx_unpickle_PieceSet, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_13blokus_cython_11__pyx_unpickle_PieceSet(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -42012,12 +43355,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.__pyx_unpickle_PieceSet", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.__pyx_unpickle_PieceSet", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(1, 4, __pyx_L1_error) - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_8__pyx_unpickle_PieceSet(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + __pyx_r = __pyx_pf_13blokus_cython_10__pyx_unpickle_PieceSet(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); /* function exit code */ goto __pyx_L0; @@ -42036,7 +43379,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8__pyx_unpickle_PieceSet(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pf_13blokus_cython_10__pyx_unpickle_PieceSet(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_v___pyx_result = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations @@ -42066,7 +43409,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8__pyx_unpickle_Pie * if __pyx_state is not None: * __pyx_unpickle_PieceSet__set_state( __pyx_result, __pyx_state) */ - __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceSet); + __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_13blokus_cython_PieceSet); __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0; { @@ -42100,7 +43443,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8__pyx_unpickle_Pie PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'"); __PYX_ERR(1, 9, __pyx_L1_error) } - __pyx_t_2 = __pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_PieceSet__set_state(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9, __pyx_L1_error) + __pyx_t_2 = __pyx_f_13blokus_cython___pyx_unpickle_PieceSet__set_state(((struct __pyx_obj_13blokus_cython_PieceSet *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -42137,7 +43480,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8__pyx_unpickle_Pie __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.__pyx_unpickle_PieceSet", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.__pyx_unpickle_PieceSet", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v___pyx_result); @@ -42154,7 +43497,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_8__pyx_unpickle_Pie * __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 5) */ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_PieceSet__set_state(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_f_13blokus_cython___pyx_unpickle_PieceSet__set_state(struct __pyx_obj_13blokus_cython_PieceSet *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -42228,7 +43571,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Piece goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.__pyx_unpickle_PieceSet__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.__pyx_unpickle_PieceSet__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -42245,15 +43588,15 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Piece */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_11__pyx_unpickle_PlayerState(PyObject *__pyx_self, +static PyObject *__pyx_pw_13blokus_cython_13__pyx_unpickle_PlayerState(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_11__pyx_unpickle_PlayerState = {"__pyx_unpickle_PlayerState", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_11__pyx_unpickle_PlayerState, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_11__pyx_unpickle_PlayerState(PyObject *__pyx_self, +static PyMethodDef __pyx_mdef_13blokus_cython_13__pyx_unpickle_PlayerState = {"__pyx_unpickle_PlayerState", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_13__pyx_unpickle_PlayerState, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_13blokus_cython_13__pyx_unpickle_PlayerState(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -42331,12 +43674,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.__pyx_unpickle_PlayerState", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.__pyx_unpickle_PlayerState", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(1, 4, __pyx_L1_error) - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_10__pyx_unpickle_PlayerState(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + __pyx_r = __pyx_pf_13blokus_cython_12__pyx_unpickle_PlayerState(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); /* function exit code */ goto __pyx_L0; @@ -42355,7 +43698,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10__pyx_unpickle_PlayerState(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pf_13blokus_cython_12__pyx_unpickle_PlayerState(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_v___pyx_result = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations @@ -42385,7 +43728,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10__pyx_unpickle_Pl * if __pyx_state is not None: * __pyx_unpickle_PlayerState__set_state( __pyx_result, __pyx_state) */ - __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PlayerState); + __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_13blokus_cython_PlayerState); __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0; { @@ -42419,7 +43762,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10__pyx_unpickle_Pl PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'"); __PYX_ERR(1, 9, __pyx_L1_error) } - __pyx_t_2 = __pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_PlayerState__set_state(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9, __pyx_L1_error) + __pyx_t_2 = __pyx_f_13blokus_cython___pyx_unpickle_PlayerState__set_state(((struct __pyx_obj_13blokus_cython_PlayerState *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -42456,7 +43799,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10__pyx_unpickle_Pl __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.__pyx_unpickle_PlayerState", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.__pyx_unpickle_PlayerState", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v___pyx_result); @@ -42473,7 +43816,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_10__pyx_unpickle_Pl * __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 6) */ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_PlayerState__set_state(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_f_13blokus_cython___pyx_unpickle_PlayerState__set_state(struct __pyx_obj_13blokus_cython_PlayerState *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -42547,7 +43890,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Playe goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.__pyx_unpickle_PlayerState__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.__pyx_unpickle_PlayerState__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -42564,15 +43907,15 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Playe */ /* Python wrapper */ -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_13__pyx_unpickle_BlokusGame(PyObject *__pyx_self, +static PyObject *__pyx_pw_13blokus_cython_15__pyx_unpickle_BlokusGame(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_10blokus_gym_4core_13blokus_cython_13__pyx_unpickle_BlokusGame = {"__pyx_unpickle_BlokusGame", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_13__pyx_unpickle_BlokusGame, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_10blokus_gym_4core_13blokus_cython_13__pyx_unpickle_BlokusGame(PyObject *__pyx_self, +static PyMethodDef __pyx_mdef_13blokus_cython_15__pyx_unpickle_BlokusGame = {"__pyx_unpickle_BlokusGame", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_15__pyx_unpickle_BlokusGame, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_13blokus_cython_15__pyx_unpickle_BlokusGame(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -42650,12 +43993,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.__pyx_unpickle_BlokusGame", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.__pyx_unpickle_BlokusGame", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(1, 4, __pyx_L1_error) - __pyx_r = __pyx_pf_10blokus_gym_4core_13blokus_cython_12__pyx_unpickle_BlokusGame(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + __pyx_r = __pyx_pf_13blokus_cython_14__pyx_unpickle_BlokusGame(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); /* function exit code */ goto __pyx_L0; @@ -42674,7 +44017,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_12__pyx_unpickle_BlokusGame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pf_13blokus_cython_14__pyx_unpickle_BlokusGame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_v___pyx_result = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations @@ -42704,7 +44047,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_12__pyx_unpickle_Bl * if __pyx_state is not None: * __pyx_unpickle_BlokusGame__set_state( __pyx_result, __pyx_state) */ - __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame); + __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_13blokus_cython_BlokusGame); __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0; { @@ -42738,7 +44081,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_12__pyx_unpickle_Bl PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'"); __PYX_ERR(1, 9, __pyx_L1_error) } - __pyx_t_2 = __pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_BlokusGame__set_state(((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9, __pyx_L1_error) + __pyx_t_2 = __pyx_f_13blokus_cython___pyx_unpickle_BlokusGame__set_state(((struct __pyx_obj_13blokus_cython_BlokusGame *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -42775,7 +44118,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_12__pyx_unpickle_Bl __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.__pyx_unpickle_BlokusGame", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.__pyx_unpickle_BlokusGame", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v___pyx_result); @@ -42792,7 +44135,7 @@ static PyObject *__pyx_pf_10blokus_gym_4core_13blokus_cython_12__pyx_unpickle_Bl * __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 13) */ -static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_BlokusGame__set_state(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_f_13blokus_cython___pyx_unpickle_BlokusGame__set_state(struct __pyx_obj_13blokus_cython_BlokusGame *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -42875,11 +44218,11 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Bloku __pyx_v___pyx_result->num_players = __pyx_t_2; __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 10, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceSet))))) __PYX_ERR(1, 12, __pyx_L1_error) + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_13blokus_cython_PieceSet))))) __PYX_ERR(1, 12, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF((PyObject *)__pyx_v___pyx_result->piece_set); __Pyx_DECREF((PyObject *)__pyx_v___pyx_result->piece_set); - __pyx_v___pyx_result->piece_set = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)__pyx_t_1); + __pyx_v___pyx_result->piece_set = ((struct __pyx_obj_13blokus_cython_PieceSet *)__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 11, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); @@ -42915,7 +44258,7 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Bloku goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("blokus_gym.core.blokus_cython.__pyx_unpickle_BlokusGame__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("blokus_cython.__pyx_unpickle_BlokusGame__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); @@ -42923,26 +44266,26 @@ static PyObject *__pyx_f_10blokus_gym_4core_13blokus_cython___pyx_unpickle_Bloku return __pyx_r; } /* #### Code section: module_exttypes ### */ -static struct __pyx_vtabstruct_10blokus_gym_4core_13blokus_cython_Board __pyx_vtable_10blokus_gym_4core_13blokus_cython_Board; +static struct __pyx_vtabstruct_13blokus_cython_Board __pyx_vtable_13blokus_cython_Board; -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython_Board(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *p; +static PyObject *__pyx_tp_new_13blokus_cython_Board(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + struct __pyx_obj_13blokus_cython_Board *p; PyObject *o; o = __Pyx_AllocateExtensionType(t, 0); if (unlikely(!o)) return 0; - p = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)o); - p->__pyx_vtab = __pyx_vtabptr_10blokus_gym_4core_13blokus_cython_Board; + p = ((struct __pyx_obj_13blokus_cython_Board *)o); + p->__pyx_vtab = __pyx_vtabptr_13blokus_cython_Board; p->_occupied_cache = ((PyObject*)Py_None); Py_INCREF(Py_None); p->grid.data = NULL; p->grid.memview = NULL; return o; } -static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_Board(PyObject *o) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)o; +static void __pyx_tp_dealloc_13blokus_cython_Board(PyObject *o) { + struct __pyx_obj_13blokus_cython_Board *p = (struct __pyx_obj_13blokus_cython_Board *)o; #if CYTHON_USE_TP_FINALIZE if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_Board) { + if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_13blokus_cython_Board) { if (PyObject_CallFinalizerFromDealloc(o)) return; } } @@ -42965,9 +44308,9 @@ static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_Board(PyObject * #endif } -static int __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython_Board(PyObject *o, visitproc v, void *a) { +static int __pyx_tp_traverse_13blokus_cython_Board(PyObject *o, visitproc v, void *a) { int e; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)o; + struct __pyx_obj_13blokus_cython_Board *p = (struct __pyx_obj_13blokus_cython_Board *)o; { e = __Pyx_call_type_traverse(o, 1, v, a); if (e) return e; @@ -42978,22 +44321,22 @@ static int __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython_Board(PyObject * return 0; } -static int __pyx_tp_clear_10blokus_gym_4core_13blokus_cython_Board(PyObject *o) { +static int __pyx_tp_clear_13blokus_cython_Board(PyObject *o) { PyObject* tmp; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *)o; + struct __pyx_obj_13blokus_cython_Board *p = (struct __pyx_obj_13blokus_cython_Board *)o; tmp = ((PyObject*)p->_occupied_cache); p->_occupied_cache = ((PyObject*)Py_None); Py_INCREF(Py_None); Py_XDECREF(tmp); return 0; } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_5Board_size(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_4size_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_5Board_size(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_5Board_4size_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_5Board_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_5Board_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_4size_3__set__(o, v); + return __pyx_pw_13blokus_cython_5Board_4size_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); @@ -43001,13 +44344,13 @@ static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_5Board_size(PyObject } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_5Board_grid(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_4grid_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_5Board_grid(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_5Board_4grid_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_5Board_grid(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_5Board_grid(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_4grid_3__set__(o, v); + return __pyx_pw_13blokus_cython_5Board_4grid_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); @@ -43015,70 +44358,70 @@ static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_5Board_grid(PyObject } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_5Board__occupied_cache(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_15_occupied_cache_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_5Board__occupied_cache(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_5Board_15_occupied_cache_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_5Board__occupied_cache(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_5Board__occupied_cache(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_15_occupied_cache_3__set__(o, v); + return __pyx_pw_13blokus_cython_5Board_15_occupied_cache_3__set__(o, v); } else { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_15_occupied_cache_5__del__(o); + return __pyx_pw_13blokus_cython_5Board_15_occupied_cache_5__del__(o); } } -static PyMethodDef __pyx_methods_10blokus_gym_4core_13blokus_cython_Board[] = { - {"place", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_3place, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_2place}, - {"clear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_5clear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_4clear}, - {"is_empty", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_7is_empty, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_6is_empty}, - {"in_bounds", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_9in_bounds, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_8in_bounds}, - {"has_overlap", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_11has_overlap, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_10has_overlap}, - {"get_cell", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_13get_cell, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_12get_cell}, - {"get_player_squares", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_15get_player_squares, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_14get_player_squares}, - {"get_player_occupied", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_17get_player_occupied, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_16get_player_occupied}, - {"get_player_corners", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_19get_player_corners, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_18get_player_corners}, - {"get_occupied", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_21get_occupied, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_20get_occupied}, - {"is_full", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_23is_full, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_22is_full}, - {"coverage", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_25coverage, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_5Board_24coverage}, - {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_27__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, - {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_29__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, +static PyMethodDef __pyx_methods_13blokus_cython_Board[] = { + {"place", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_3place, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_5Board_2place}, + {"clear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_5clear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_5Board_4clear}, + {"is_empty", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_7is_empty, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_5Board_6is_empty}, + {"in_bounds", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_9in_bounds, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_5Board_8in_bounds}, + {"has_overlap", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_11has_overlap, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_5Board_10has_overlap}, + {"get_cell", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_13get_cell, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_5Board_12get_cell}, + {"get_player_squares", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_15get_player_squares, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_5Board_14get_player_squares}, + {"get_player_occupied", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_17get_player_occupied, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_5Board_16get_player_occupied}, + {"get_player_corners", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_19get_player_corners, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_5Board_18get_player_corners}, + {"get_occupied", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_21get_occupied, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_5Board_20get_occupied}, + {"is_full", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_23is_full, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_5Board_22is_full}, + {"coverage", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_25coverage, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_5Board_24coverage}, + {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_27__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, + {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Board_29__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, {0, 0, 0, 0} }; -static struct PyGetSetDef __pyx_getsets_10blokus_gym_4core_13blokus_cython_Board[] = { - {"size", __pyx_getprop_10blokus_gym_4core_13blokus_cython_5Board_size, __pyx_setprop_10blokus_gym_4core_13blokus_cython_5Board_size, 0, 0}, - {"grid", __pyx_getprop_10blokus_gym_4core_13blokus_cython_5Board_grid, __pyx_setprop_10blokus_gym_4core_13blokus_cython_5Board_grid, 0, 0}, - {"_occupied_cache", __pyx_getprop_10blokus_gym_4core_13blokus_cython_5Board__occupied_cache, __pyx_setprop_10blokus_gym_4core_13blokus_cython_5Board__occupied_cache, 0, 0}, +static struct PyGetSetDef __pyx_getsets_13blokus_cython_Board[] = { + {"size", __pyx_getprop_13blokus_cython_5Board_size, __pyx_setprop_13blokus_cython_5Board_size, 0, 0}, + {"grid", __pyx_getprop_13blokus_cython_5Board_grid, __pyx_setprop_13blokus_cython_5Board_grid, 0, 0}, + {"_occupied_cache", __pyx_getprop_13blokus_cython_5Board__occupied_cache, __pyx_setprop_13blokus_cython_5Board__occupied_cache, 0, 0}, {0, 0, 0, 0, 0} }; #if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_10blokus_gym_4core_13blokus_cython_Board_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_Board}, +static PyType_Slot __pyx_type_13blokus_cython_Board_slots[] = { + {Py_tp_dealloc, (void *)__pyx_tp_dealloc_13blokus_cython_Board}, {Py_tp_doc, (void *)PyDoc_STR("Cython-optimized Board class with static typing.\n \n Key optimizations:\n - Static typing eliminates Python interpreter overhead\n - Direct C-level array access instead of Python method calls\n - Precomputed bounds checking\n ")}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_10blokus_gym_4core_13blokus_cython_Board}, - {Py_tp_clear, (void *)__pyx_tp_clear_10blokus_gym_4core_13blokus_cython_Board}, - {Py_tp_methods, (void *)__pyx_methods_10blokus_gym_4core_13blokus_cython_Board}, - {Py_tp_getset, (void *)__pyx_getsets_10blokus_gym_4core_13blokus_cython_Board}, - {Py_tp_init, (void *)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_1__init__}, - {Py_tp_new, (void *)__pyx_tp_new_10blokus_gym_4core_13blokus_cython_Board}, + {Py_tp_traverse, (void *)__pyx_tp_traverse_13blokus_cython_Board}, + {Py_tp_clear, (void *)__pyx_tp_clear_13blokus_cython_Board}, + {Py_tp_methods, (void *)__pyx_methods_13blokus_cython_Board}, + {Py_tp_getset, (void *)__pyx_getsets_13blokus_cython_Board}, + {Py_tp_init, (void *)__pyx_pw_13blokus_cython_5Board_1__init__}, + {Py_tp_new, (void *)__pyx_tp_new_13blokus_cython_Board}, {0, 0}, }; -static PyType_Spec __pyx_type_10blokus_gym_4core_13blokus_cython_Board_spec = { - "blokus_gym.core.blokus_cython.Board", - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board), +static PyType_Spec __pyx_type_13blokus_cython_Board_spec = { + "blokus_cython.Board", + sizeof(struct __pyx_obj_13blokus_cython_Board), 0, Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, - __pyx_type_10blokus_gym_4core_13blokus_cython_Board_slots, + __pyx_type_13blokus_cython_Board_slots, }; #else -static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_Board = { +static PyTypeObject __pyx_type_13blokus_cython_Board = { PyVarObject_HEAD_INIT(0, 0) - "blokus_gym.core.blokus_cython.""Board", /*tp_name*/ - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board), /*tp_basicsize*/ + "blokus_cython.""Board", /*tp_name*/ + sizeof(struct __pyx_obj_13blokus_cython_Board), /*tp_basicsize*/ 0, /*tp_itemsize*/ - __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_Board, /*tp_dealloc*/ + __pyx_tp_dealloc_13blokus_cython_Board, /*tp_dealloc*/ 0, /*tp_vectorcall_offset*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ @@ -43095,15 +44438,15 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_Board = { 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ PyDoc_STR("Cython-optimized Board class with static typing.\n \n Key optimizations:\n - Static typing eliminates Python interpreter overhead\n - Direct C-level array access instead of Python method calls\n - Precomputed bounds checking\n "), /*tp_doc*/ - __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython_Board, /*tp_traverse*/ - __pyx_tp_clear_10blokus_gym_4core_13blokus_cython_Board, /*tp_clear*/ + __pyx_tp_traverse_13blokus_cython_Board, /*tp_traverse*/ + __pyx_tp_clear_13blokus_cython_Board, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ - __pyx_methods_10blokus_gym_4core_13blokus_cython_Board, /*tp_methods*/ + __pyx_methods_13blokus_cython_Board, /*tp_methods*/ 0, /*tp_members*/ - __pyx_getsets_10blokus_gym_4core_13blokus_cython_Board, /*tp_getset*/ + __pyx_getsets_13blokus_cython_Board, /*tp_getset*/ 0, /*tp_base*/ 0, /*tp_dict*/ 0, /*tp_descr_get*/ @@ -43111,9 +44454,9 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_Board = { #if !CYTHON_USE_TYPE_SPECS 0, /*tp_dictoffset*/ #endif - __pyx_pw_10blokus_gym_4core_13blokus_cython_5Board_1__init__, /*tp_init*/ + __pyx_pw_13blokus_cython_5Board_1__init__, /*tp_init*/ 0, /*tp_alloc*/ - __pyx_tp_new_10blokus_gym_4core_13blokus_cython_Board, /*tp_new*/ + __pyx_tp_new_13blokus_cython_Board, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_gc*/ 0, /*tp_bases*/ @@ -43146,17 +44489,17 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_Board = { }; #endif -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython_Move(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { +static PyObject *__pyx_tp_new_13blokus_cython_Move(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { PyObject *o; o = __Pyx_AllocateExtensionType(t, 0); if (unlikely(!o)) return 0; return o; } -static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_Move(PyObject *o) { +static void __pyx_tp_dealloc_13blokus_cython_Move(PyObject *o) { #if CYTHON_USE_TP_FINALIZE if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_Move) { + if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_13blokus_cython_Move) { if (PyObject_CallFinalizerFromDealloc(o)) return; } } @@ -43175,13 +44518,13 @@ static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_Move(PyObject *o #endif } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_4Move_piece_id(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_8piece_id_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_4Move_piece_id(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_4Move_8piece_id_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_4Move_piece_id(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_4Move_piece_id(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_8piece_id_3__set__(o, v); + return __pyx_pw_13blokus_cython_4Move_8piece_id_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); @@ -43189,13 +44532,13 @@ static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_4Move_piece_id(PyObj } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_4Move_orientation_id(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_14orientation_id_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_4Move_orientation_id(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_4Move_14orientation_id_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_4Move_orientation_id(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_4Move_orientation_id(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_14orientation_id_3__set__(o, v); + return __pyx_pw_13blokus_cython_4Move_14orientation_id_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); @@ -43203,13 +44546,13 @@ static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_4Move_orientation_id } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_4Move_x(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_1x_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_4Move_x(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_4Move_1x_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_4Move_x(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_4Move_x(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_1x_3__set__(o, v); + return __pyx_pw_13blokus_cython_4Move_1x_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); @@ -43217,13 +44560,13 @@ static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_4Move_x(PyObject *o, } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_4Move_y(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_1y_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_4Move_y(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_4Move_1y_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_4Move_y(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_4Move_y(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_1y_3__set__(o, v); + return __pyx_pw_13blokus_cython_4Move_1y_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); @@ -43231,50 +44574,50 @@ static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_4Move_y(PyObject *o, } } -static PyMethodDef __pyx_methods_10blokus_gym_4core_13blokus_cython_Move[] = { - {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_5__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, - {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_7__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, +static PyMethodDef __pyx_methods_13blokus_cython_Move[] = { + {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_4Move_5__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, + {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_4Move_7__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, {0, 0, 0, 0} }; -static struct PyGetSetDef __pyx_getsets_10blokus_gym_4core_13blokus_cython_Move[] = { - {"piece_id", __pyx_getprop_10blokus_gym_4core_13blokus_cython_4Move_piece_id, __pyx_setprop_10blokus_gym_4core_13blokus_cython_4Move_piece_id, 0, 0}, - {"orientation_id", __pyx_getprop_10blokus_gym_4core_13blokus_cython_4Move_orientation_id, __pyx_setprop_10blokus_gym_4core_13blokus_cython_4Move_orientation_id, 0, 0}, - {"x", __pyx_getprop_10blokus_gym_4core_13blokus_cython_4Move_x, __pyx_setprop_10blokus_gym_4core_13blokus_cython_4Move_x, 0, 0}, - {"y", __pyx_getprop_10blokus_gym_4core_13blokus_cython_4Move_y, __pyx_setprop_10blokus_gym_4core_13blokus_cython_4Move_y, 0, 0}, +static struct PyGetSetDef __pyx_getsets_13blokus_cython_Move[] = { + {"piece_id", __pyx_getprop_13blokus_cython_4Move_piece_id, __pyx_setprop_13blokus_cython_4Move_piece_id, 0, 0}, + {"orientation_id", __pyx_getprop_13blokus_cython_4Move_orientation_id, __pyx_setprop_13blokus_cython_4Move_orientation_id, 0, 0}, + {"x", __pyx_getprop_13blokus_cython_4Move_x, __pyx_setprop_13blokus_cython_4Move_x, 0, 0}, + {"y", __pyx_getprop_13blokus_cython_4Move_y, __pyx_setprop_13blokus_cython_4Move_y, 0, 0}, {0, 0, 0, 0, 0} }; #if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_10blokus_gym_4core_13blokus_cython_Move_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_Move}, - {Py_tp_repr, (void *)__pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_3__repr__}, +static PyType_Slot __pyx_type_13blokus_cython_Move_slots[] = { + {Py_tp_dealloc, (void *)__pyx_tp_dealloc_13blokus_cython_Move}, + {Py_tp_repr, (void *)__pyx_pw_13blokus_cython_4Move_3__repr__}, {Py_tp_doc, (void *)PyDoc_STR("A move in the game (piece, orientation, position).")}, - {Py_tp_methods, (void *)__pyx_methods_10blokus_gym_4core_13blokus_cython_Move}, - {Py_tp_getset, (void *)__pyx_getsets_10blokus_gym_4core_13blokus_cython_Move}, - {Py_tp_init, (void *)__pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_1__init__}, - {Py_tp_new, (void *)__pyx_tp_new_10blokus_gym_4core_13blokus_cython_Move}, + {Py_tp_methods, (void *)__pyx_methods_13blokus_cython_Move}, + {Py_tp_getset, (void *)__pyx_getsets_13blokus_cython_Move}, + {Py_tp_init, (void *)__pyx_pw_13blokus_cython_4Move_1__init__}, + {Py_tp_new, (void *)__pyx_tp_new_13blokus_cython_Move}, {0, 0}, }; -static PyType_Spec __pyx_type_10blokus_gym_4core_13blokus_cython_Move_spec = { - "blokus_gym.core.blokus_cython.Move", - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move), +static PyType_Spec __pyx_type_13blokus_cython_Move_spec = { + "blokus_cython.Move", + sizeof(struct __pyx_obj_13blokus_cython_Move), 0, Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, - __pyx_type_10blokus_gym_4core_13blokus_cython_Move_slots, + __pyx_type_13blokus_cython_Move_slots, }; #else -static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_Move = { +static PyTypeObject __pyx_type_13blokus_cython_Move = { PyVarObject_HEAD_INIT(0, 0) - "blokus_gym.core.blokus_cython.""Move", /*tp_name*/ - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move), /*tp_basicsize*/ + "blokus_cython.""Move", /*tp_name*/ + sizeof(struct __pyx_obj_13blokus_cython_Move), /*tp_basicsize*/ 0, /*tp_itemsize*/ - __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_Move, /*tp_dealloc*/ + __pyx_tp_dealloc_13blokus_cython_Move, /*tp_dealloc*/ 0, /*tp_vectorcall_offset*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ 0, /*tp_as_async*/ - __pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_3__repr__, /*tp_repr*/ + __pyx_pw_13blokus_cython_4Move_3__repr__, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ @@ -43292,9 +44635,9 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_Move = { 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ - __pyx_methods_10blokus_gym_4core_13blokus_cython_Move, /*tp_methods*/ + __pyx_methods_13blokus_cython_Move, /*tp_methods*/ 0, /*tp_members*/ - __pyx_getsets_10blokus_gym_4core_13blokus_cython_Move, /*tp_getset*/ + __pyx_getsets_13blokus_cython_Move, /*tp_getset*/ 0, /*tp_base*/ 0, /*tp_dict*/ 0, /*tp_descr_get*/ @@ -43302,9 +44645,9 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_Move = { #if !CYTHON_USE_TYPE_SPECS 0, /*tp_dictoffset*/ #endif - __pyx_pw_10blokus_gym_4core_13blokus_cython_4Move_1__init__, /*tp_init*/ + __pyx_pw_13blokus_cython_4Move_1__init__, /*tp_init*/ 0, /*tp_alloc*/ - __pyx_tp_new_10blokus_gym_4core_13blokus_cython_Move, /*tp_new*/ + __pyx_tp_new_13blokus_cython_Move, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_gc*/ 0, /*tp_bases*/ @@ -43337,22 +44680,22 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_Move = { }; #endif -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython_PieceOrientation(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *p; +static PyObject *__pyx_tp_new_13blokus_cython_PieceOrientation(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + struct __pyx_obj_13blokus_cython_PieceOrientation *p; PyObject *o; o = __Pyx_AllocateExtensionType(t, 0); if (unlikely(!o)) return 0; - p = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *)o); + p = ((struct __pyx_obj_13blokus_cython_PieceOrientation *)o); p->squares = ((PyObject*)Py_None); Py_INCREF(Py_None); p->corners = ((PyObject*)Py_None); Py_INCREF(Py_None); return o; } -static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_PieceOrientation(PyObject *o) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *)o; +static void __pyx_tp_dealloc_13blokus_cython_PieceOrientation(PyObject *o) { + struct __pyx_obj_13blokus_cython_PieceOrientation *p = (struct __pyx_obj_13blokus_cython_PieceOrientation *)o; #if CYTHON_USE_TP_FINALIZE if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_PieceOrientation) { + if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_13blokus_cython_PieceOrientation) { if (PyObject_CallFinalizerFromDealloc(o)) return; } } @@ -43374,9 +44717,9 @@ static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_PieceOrientation #endif } -static int __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython_PieceOrientation(PyObject *o, visitproc v, void *a) { +static int __pyx_tp_traverse_13blokus_cython_PieceOrientation(PyObject *o, visitproc v, void *a) { int e; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *)o; + struct __pyx_obj_13blokus_cython_PieceOrientation *p = (struct __pyx_obj_13blokus_cython_PieceOrientation *)o; { e = __Pyx_call_type_traverse(o, 1, v, a); if (e) return e; @@ -43390,9 +44733,9 @@ static int __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython_PieceOrientation return 0; } -static int __pyx_tp_clear_10blokus_gym_4core_13blokus_cython_PieceOrientation(PyObject *o) { +static int __pyx_tp_clear_13blokus_cython_PieceOrientation(PyObject *o) { PyObject* tmp; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation *)o; + struct __pyx_obj_13blokus_cython_PieceOrientation *p = (struct __pyx_obj_13blokus_cython_PieceOrientation *)o; tmp = ((PyObject*)p->squares); p->squares = ((PyObject*)Py_None); Py_INCREF(Py_None); Py_XDECREF(tmp); @@ -43402,13 +44745,13 @@ static int __pyx_tp_clear_10blokus_gym_4core_13blokus_cython_PieceOrientation(Py return 0; } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_16PieceOrientation_piece_id(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_8piece_id_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_16PieceOrientation_piece_id(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_16PieceOrientation_8piece_id_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_16PieceOrientation_piece_id(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_16PieceOrientation_piece_id(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_8piece_id_3__set__(o, v); + return __pyx_pw_13blokus_cython_16PieceOrientation_8piece_id_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); @@ -43416,13 +44759,13 @@ static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_16PieceOrientation_p } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_16PieceOrientation_orientation_id(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_14orientation_id_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_16PieceOrientation_orientation_id(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_16PieceOrientation_14orientation_id_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_16PieceOrientation_orientation_id(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_16PieceOrientation_orientation_id(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_14orientation_id_3__set__(o, v); + return __pyx_pw_13blokus_cython_16PieceOrientation_14orientation_id_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); @@ -43430,72 +44773,72 @@ static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_16PieceOrientation_o } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_16PieceOrientation_squares(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7squares_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_16PieceOrientation_squares(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_16PieceOrientation_7squares_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_16PieceOrientation_squares(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_16PieceOrientation_squares(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7squares_3__set__(o, v); + return __pyx_pw_13blokus_cython_16PieceOrientation_7squares_3__set__(o, v); } else { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7squares_5__del__(o); + return __pyx_pw_13blokus_cython_16PieceOrientation_7squares_5__del__(o); } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_16PieceOrientation_corners(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7corners_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_16PieceOrientation_corners(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_16PieceOrientation_7corners_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_16PieceOrientation_corners(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_16PieceOrientation_corners(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7corners_3__set__(o, v); + return __pyx_pw_13blokus_cython_16PieceOrientation_7corners_3__set__(o, v); } else { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_7corners_5__del__(o); + return __pyx_pw_13blokus_cython_16PieceOrientation_7corners_5__del__(o); } } -static PyMethodDef __pyx_methods_10blokus_gym_4core_13blokus_cython_PieceOrientation[] = { - {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_3__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, - {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_5__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, +static PyMethodDef __pyx_methods_13blokus_cython_PieceOrientation[] = { + {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_16PieceOrientation_3__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, + {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_16PieceOrientation_5__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, {0, 0, 0, 0} }; -static struct PyGetSetDef __pyx_getsets_10blokus_gym_4core_13blokus_cython_PieceOrientation[] = { - {"piece_id", __pyx_getprop_10blokus_gym_4core_13blokus_cython_16PieceOrientation_piece_id, __pyx_setprop_10blokus_gym_4core_13blokus_cython_16PieceOrientation_piece_id, 0, 0}, - {"orientation_id", __pyx_getprop_10blokus_gym_4core_13blokus_cython_16PieceOrientation_orientation_id, __pyx_setprop_10blokus_gym_4core_13blokus_cython_16PieceOrientation_orientation_id, 0, 0}, - {"squares", __pyx_getprop_10blokus_gym_4core_13blokus_cython_16PieceOrientation_squares, __pyx_setprop_10blokus_gym_4core_13blokus_cython_16PieceOrientation_squares, 0, 0}, - {"corners", __pyx_getprop_10blokus_gym_4core_13blokus_cython_16PieceOrientation_corners, __pyx_setprop_10blokus_gym_4core_13blokus_cython_16PieceOrientation_corners, 0, 0}, +static struct PyGetSetDef __pyx_getsets_13blokus_cython_PieceOrientation[] = { + {"piece_id", __pyx_getprop_13blokus_cython_16PieceOrientation_piece_id, __pyx_setprop_13blokus_cython_16PieceOrientation_piece_id, 0, 0}, + {"orientation_id", __pyx_getprop_13blokus_cython_16PieceOrientation_orientation_id, __pyx_setprop_13blokus_cython_16PieceOrientation_orientation_id, 0, 0}, + {"squares", __pyx_getprop_13blokus_cython_16PieceOrientation_squares, __pyx_setprop_13blokus_cython_16PieceOrientation_squares, 0, 0}, + {"corners", __pyx_getprop_13blokus_cython_16PieceOrientation_corners, __pyx_setprop_13blokus_cython_16PieceOrientation_corners, 0, 0}, {0, 0, 0, 0, 0} }; #if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_10blokus_gym_4core_13blokus_cython_PieceOrientation_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_PieceOrientation}, +static PyType_Slot __pyx_type_13blokus_cython_PieceOrientation_slots[] = { + {Py_tp_dealloc, (void *)__pyx_tp_dealloc_13blokus_cython_PieceOrientation}, {Py_tp_doc, (void *)PyDoc_STR("A piece in a specific orientation (before placement on board).")}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_10blokus_gym_4core_13blokus_cython_PieceOrientation}, - {Py_tp_clear, (void *)__pyx_tp_clear_10blokus_gym_4core_13blokus_cython_PieceOrientation}, - {Py_tp_methods, (void *)__pyx_methods_10blokus_gym_4core_13blokus_cython_PieceOrientation}, - {Py_tp_getset, (void *)__pyx_getsets_10blokus_gym_4core_13blokus_cython_PieceOrientation}, - {Py_tp_init, (void *)__pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_1__init__}, - {Py_tp_new, (void *)__pyx_tp_new_10blokus_gym_4core_13blokus_cython_PieceOrientation}, + {Py_tp_traverse, (void *)__pyx_tp_traverse_13blokus_cython_PieceOrientation}, + {Py_tp_clear, (void *)__pyx_tp_clear_13blokus_cython_PieceOrientation}, + {Py_tp_methods, (void *)__pyx_methods_13blokus_cython_PieceOrientation}, + {Py_tp_getset, (void *)__pyx_getsets_13blokus_cython_PieceOrientation}, + {Py_tp_init, (void *)__pyx_pw_13blokus_cython_16PieceOrientation_1__init__}, + {Py_tp_new, (void *)__pyx_tp_new_13blokus_cython_PieceOrientation}, {0, 0}, }; -static PyType_Spec __pyx_type_10blokus_gym_4core_13blokus_cython_PieceOrientation_spec = { - "blokus_gym.core.blokus_cython.PieceOrientation", - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation), +static PyType_Spec __pyx_type_13blokus_cython_PieceOrientation_spec = { + "blokus_cython.PieceOrientation", + sizeof(struct __pyx_obj_13blokus_cython_PieceOrientation), 0, Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, - __pyx_type_10blokus_gym_4core_13blokus_cython_PieceOrientation_slots, + __pyx_type_13blokus_cython_PieceOrientation_slots, }; #else -static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_PieceOrientation = { +static PyTypeObject __pyx_type_13blokus_cython_PieceOrientation = { PyVarObject_HEAD_INIT(0, 0) - "blokus_gym.core.blokus_cython.""PieceOrientation", /*tp_name*/ - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceOrientation), /*tp_basicsize*/ + "blokus_cython.""PieceOrientation", /*tp_name*/ + sizeof(struct __pyx_obj_13blokus_cython_PieceOrientation), /*tp_basicsize*/ 0, /*tp_itemsize*/ - __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_PieceOrientation, /*tp_dealloc*/ + __pyx_tp_dealloc_13blokus_cython_PieceOrientation, /*tp_dealloc*/ 0, /*tp_vectorcall_offset*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ @@ -43512,15 +44855,15 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_PieceOrientati 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ PyDoc_STR("A piece in a specific orientation (before placement on board)."), /*tp_doc*/ - __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython_PieceOrientation, /*tp_traverse*/ - __pyx_tp_clear_10blokus_gym_4core_13blokus_cython_PieceOrientation, /*tp_clear*/ + __pyx_tp_traverse_13blokus_cython_PieceOrientation, /*tp_traverse*/ + __pyx_tp_clear_13blokus_cython_PieceOrientation, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ - __pyx_methods_10blokus_gym_4core_13blokus_cython_PieceOrientation, /*tp_methods*/ + __pyx_methods_13blokus_cython_PieceOrientation, /*tp_methods*/ 0, /*tp_members*/ - __pyx_getsets_10blokus_gym_4core_13blokus_cython_PieceOrientation, /*tp_getset*/ + __pyx_getsets_13blokus_cython_PieceOrientation, /*tp_getset*/ 0, /*tp_base*/ 0, /*tp_dict*/ 0, /*tp_descr_get*/ @@ -43528,9 +44871,9 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_PieceOrientati #if !CYTHON_USE_TYPE_SPECS 0, /*tp_dictoffset*/ #endif - __pyx_pw_10blokus_gym_4core_13blokus_cython_16PieceOrientation_1__init__, /*tp_init*/ + __pyx_pw_13blokus_cython_16PieceOrientation_1__init__, /*tp_init*/ 0, /*tp_alloc*/ - __pyx_tp_new_10blokus_gym_4core_13blokus_cython_PieceOrientation, /*tp_new*/ + __pyx_tp_new_13blokus_cython_PieceOrientation, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_gc*/ 0, /*tp_bases*/ @@ -43563,22 +44906,22 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_PieceOrientati }; #endif -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython_Piece(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *p; +static PyObject *__pyx_tp_new_13blokus_cython_Piece(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + struct __pyx_obj_13blokus_cython_Piece *p; PyObject *o; o = __Pyx_AllocateExtensionType(t, 0); if (unlikely(!o)) return 0; - p = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)o); + p = ((struct __pyx_obj_13blokus_cython_Piece *)o); p->name = ((PyObject*)Py_None); Py_INCREF(Py_None); p->squares = Py_None; Py_INCREF(Py_None); return o; } -static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_Piece(PyObject *o) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)o; +static void __pyx_tp_dealloc_13blokus_cython_Piece(PyObject *o) { + struct __pyx_obj_13blokus_cython_Piece *p = (struct __pyx_obj_13blokus_cython_Piece *)o; #if CYTHON_USE_TP_FINALIZE if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_Piece) { + if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_13blokus_cython_Piece) { if (PyObject_CallFinalizerFromDealloc(o)) return; } } @@ -43600,9 +44943,9 @@ static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_Piece(PyObject * #endif } -static int __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython_Piece(PyObject *o, visitproc v, void *a) { +static int __pyx_tp_traverse_13blokus_cython_Piece(PyObject *o, visitproc v, void *a) { int e; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)o; + struct __pyx_obj_13blokus_cython_Piece *p = (struct __pyx_obj_13blokus_cython_Piece *)o; { e = __Pyx_call_type_traverse(o, 1, v, a); if (e) return e; @@ -43613,84 +44956,84 @@ static int __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython_Piece(PyObject * return 0; } -static int __pyx_tp_clear_10blokus_gym_4core_13blokus_cython_Piece(PyObject *o) { +static int __pyx_tp_clear_13blokus_cython_Piece(PyObject *o) { PyObject* tmp; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)o; + struct __pyx_obj_13blokus_cython_Piece *p = (struct __pyx_obj_13blokus_cython_Piece *)o; tmp = ((PyObject*)p->squares); p->squares = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); return 0; } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_5Piece_size(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_4size_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_5Piece_size(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_5Piece_4size_1__get__(o); } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_5Piece_name(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_4name_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_5Piece_name(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_5Piece_4name_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_5Piece_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_5Piece_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_4name_3__set__(o, v); + return __pyx_pw_13blokus_cython_5Piece_4name_3__set__(o, v); } else { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_4name_5__del__(o); + return __pyx_pw_13blokus_cython_5Piece_4name_5__del__(o); } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_5Piece_squares(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_7squares_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_5Piece_squares(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_5Piece_7squares_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_5Piece_squares(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_5Piece_squares(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_7squares_3__set__(o, v); + return __pyx_pw_13blokus_cython_5Piece_7squares_3__set__(o, v); } else { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_7squares_5__del__(o); + return __pyx_pw_13blokus_cython_5Piece_7squares_5__del__(o); } } -static PyMethodDef __pyx_methods_10blokus_gym_4core_13blokus_cython_Piece[] = { - {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_3__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, - {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_5__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, +static PyMethodDef __pyx_methods_13blokus_cython_Piece[] = { + {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Piece_3__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, + {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_5Piece_5__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, {0, 0, 0, 0} }; -static struct PyGetSetDef __pyx_getsets_10blokus_gym_4core_13blokus_cython_Piece[] = { - {"size", __pyx_getprop_10blokus_gym_4core_13blokus_cython_5Piece_size, 0, 0, 0}, - {"name", __pyx_getprop_10blokus_gym_4core_13blokus_cython_5Piece_name, __pyx_setprop_10blokus_gym_4core_13blokus_cython_5Piece_name, 0, 0}, - {"squares", __pyx_getprop_10blokus_gym_4core_13blokus_cython_5Piece_squares, __pyx_setprop_10blokus_gym_4core_13blokus_cython_5Piece_squares, 0, 0}, +static struct PyGetSetDef __pyx_getsets_13blokus_cython_Piece[] = { + {"size", __pyx_getprop_13blokus_cython_5Piece_size, 0, 0, 0}, + {"name", __pyx_getprop_13blokus_cython_5Piece_name, __pyx_setprop_13blokus_cython_5Piece_name, 0, 0}, + {"squares", __pyx_getprop_13blokus_cython_5Piece_squares, __pyx_setprop_13blokus_cython_5Piece_squares, 0, 0}, {0, 0, 0, 0, 0} }; #if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_10blokus_gym_4core_13blokus_cython_Piece_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_Piece}, +static PyType_Slot __pyx_type_13blokus_cython_Piece_slots[] = { + {Py_tp_dealloc, (void *)__pyx_tp_dealloc_13blokus_cython_Piece}, {Py_tp_doc, (void *)PyDoc_STR("A polyomino piece defined by a set of (x, y) coordinates.")}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_10blokus_gym_4core_13blokus_cython_Piece}, - {Py_tp_clear, (void *)__pyx_tp_clear_10blokus_gym_4core_13blokus_cython_Piece}, - {Py_tp_methods, (void *)__pyx_methods_10blokus_gym_4core_13blokus_cython_Piece}, - {Py_tp_getset, (void *)__pyx_getsets_10blokus_gym_4core_13blokus_cython_Piece}, - {Py_tp_init, (void *)__pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_1__init__}, - {Py_tp_new, (void *)__pyx_tp_new_10blokus_gym_4core_13blokus_cython_Piece}, + {Py_tp_traverse, (void *)__pyx_tp_traverse_13blokus_cython_Piece}, + {Py_tp_clear, (void *)__pyx_tp_clear_13blokus_cython_Piece}, + {Py_tp_methods, (void *)__pyx_methods_13blokus_cython_Piece}, + {Py_tp_getset, (void *)__pyx_getsets_13blokus_cython_Piece}, + {Py_tp_init, (void *)__pyx_pw_13blokus_cython_5Piece_1__init__}, + {Py_tp_new, (void *)__pyx_tp_new_13blokus_cython_Piece}, {0, 0}, }; -static PyType_Spec __pyx_type_10blokus_gym_4core_13blokus_cython_Piece_spec = { - "blokus_gym.core.blokus_cython.Piece", - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece), +static PyType_Spec __pyx_type_13blokus_cython_Piece_spec = { + "blokus_cython.Piece", + sizeof(struct __pyx_obj_13blokus_cython_Piece), 0, Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, - __pyx_type_10blokus_gym_4core_13blokus_cython_Piece_slots, + __pyx_type_13blokus_cython_Piece_slots, }; #else -static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_Piece = { +static PyTypeObject __pyx_type_13blokus_cython_Piece = { PyVarObject_HEAD_INIT(0, 0) - "blokus_gym.core.blokus_cython.""Piece", /*tp_name*/ - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece), /*tp_basicsize*/ + "blokus_cython.""Piece", /*tp_name*/ + sizeof(struct __pyx_obj_13blokus_cython_Piece), /*tp_basicsize*/ 0, /*tp_itemsize*/ - __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_Piece, /*tp_dealloc*/ + __pyx_tp_dealloc_13blokus_cython_Piece, /*tp_dealloc*/ 0, /*tp_vectorcall_offset*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ @@ -43707,15 +45050,15 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_Piece = { 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ PyDoc_STR("A polyomino piece defined by a set of (x, y) coordinates."), /*tp_doc*/ - __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython_Piece, /*tp_traverse*/ - __pyx_tp_clear_10blokus_gym_4core_13blokus_cython_Piece, /*tp_clear*/ + __pyx_tp_traverse_13blokus_cython_Piece, /*tp_traverse*/ + __pyx_tp_clear_13blokus_cython_Piece, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ - __pyx_methods_10blokus_gym_4core_13blokus_cython_Piece, /*tp_methods*/ + __pyx_methods_13blokus_cython_Piece, /*tp_methods*/ 0, /*tp_members*/ - __pyx_getsets_10blokus_gym_4core_13blokus_cython_Piece, /*tp_getset*/ + __pyx_getsets_13blokus_cython_Piece, /*tp_getset*/ 0, /*tp_base*/ 0, /*tp_dict*/ 0, /*tp_descr_get*/ @@ -43723,9 +45066,9 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_Piece = { #if !CYTHON_USE_TYPE_SPECS 0, /*tp_dictoffset*/ #endif - __pyx_pw_10blokus_gym_4core_13blokus_cython_5Piece_1__init__, /*tp_init*/ + __pyx_pw_13blokus_cython_5Piece_1__init__, /*tp_init*/ 0, /*tp_alloc*/ - __pyx_tp_new_10blokus_gym_4core_13blokus_cython_Piece, /*tp_new*/ + __pyx_tp_new_13blokus_cython_Piece, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_gc*/ 0, /*tp_bases*/ @@ -43758,12 +45101,12 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_Piece = { }; #endif -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython_PieceSet(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *p; +static PyObject *__pyx_tp_new_13blokus_cython_PieceSet(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + struct __pyx_obj_13blokus_cython_PieceSet *p; PyObject *o; o = __Pyx_AllocateExtensionType(t, 0); if (unlikely(!o)) return 0; - p = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)o); + p = ((struct __pyx_obj_13blokus_cython_PieceSet *)o); p->pieces = ((PyObject*)Py_None); Py_INCREF(Py_None); p->piece_names = ((PyObject*)Py_None); Py_INCREF(Py_None); p->piece_id_map = ((PyObject*)Py_None); Py_INCREF(Py_None); @@ -43771,11 +45114,11 @@ static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython_PieceSet(PyType return o; } -static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_PieceSet(PyObject *o) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)o; +static void __pyx_tp_dealloc_13blokus_cython_PieceSet(PyObject *o) { + struct __pyx_obj_13blokus_cython_PieceSet *p = (struct __pyx_obj_13blokus_cython_PieceSet *)o; #if CYTHON_USE_TP_FINALIZE if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_PieceSet) { + if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_13blokus_cython_PieceSet) { if (PyObject_CallFinalizerFromDealloc(o)) return; } } @@ -43799,9 +45142,9 @@ static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_PieceSet(PyObjec #endif } -static int __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython_PieceSet(PyObject *o, visitproc v, void *a) { +static int __pyx_tp_traverse_13blokus_cython_PieceSet(PyObject *o, visitproc v, void *a) { int e; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)o; + struct __pyx_obj_13blokus_cython_PieceSet *p = (struct __pyx_obj_13blokus_cython_PieceSet *)o; { e = __Pyx_call_type_traverse(o, 1, v, a); if (e) return e; @@ -43821,9 +45164,9 @@ static int __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython_PieceSet(PyObjec return 0; } -static int __pyx_tp_clear_10blokus_gym_4core_13blokus_cython_PieceSet(PyObject *o) { +static int __pyx_tp_clear_13blokus_cython_PieceSet(PyObject *o) { PyObject* tmp; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)o; + struct __pyx_obj_13blokus_cython_PieceSet *p = (struct __pyx_obj_13blokus_cython_PieceSet *)o; tmp = ((PyObject*)p->pieces); p->pieces = ((PyObject*)Py_None); Py_INCREF(Py_None); Py_XDECREF(tmp); @@ -43839,69 +45182,69 @@ static int __pyx_tp_clear_10blokus_gym_4core_13blokus_cython_PieceSet(PyObject * return 0; } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_8PieceSet_num_pieces(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_10num_pieces_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_8PieceSet_num_pieces(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_8PieceSet_10num_pieces_1__get__(o); } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_8PieceSet_pieces(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_6pieces_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_8PieceSet_pieces(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_8PieceSet_6pieces_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_8PieceSet_pieces(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_8PieceSet_pieces(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_6pieces_3__set__(o, v); + return __pyx_pw_13blokus_cython_8PieceSet_6pieces_3__set__(o, v); } else { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_6pieces_5__del__(o); + return __pyx_pw_13blokus_cython_8PieceSet_6pieces_5__del__(o); } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_8PieceSet_piece_names(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_11piece_names_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_8PieceSet_piece_names(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_8PieceSet_11piece_names_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_8PieceSet_piece_names(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_8PieceSet_piece_names(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_11piece_names_3__set__(o, v); + return __pyx_pw_13blokus_cython_8PieceSet_11piece_names_3__set__(o, v); } else { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_11piece_names_5__del__(o); + return __pyx_pw_13blokus_cython_8PieceSet_11piece_names_5__del__(o); } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_8PieceSet_piece_id_map(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_12piece_id_map_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_8PieceSet_piece_id_map(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_8PieceSet_12piece_id_map_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_8PieceSet_piece_id_map(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_8PieceSet_piece_id_map(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_12piece_id_map_3__set__(o, v); + return __pyx_pw_13blokus_cython_8PieceSet_12piece_id_map_3__set__(o, v); } else { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_12piece_id_map_5__del__(o); + return __pyx_pw_13blokus_cython_8PieceSet_12piece_id_map_5__del__(o); } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_8PieceSet_orientations(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_12orientations_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_8PieceSet_orientations(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_8PieceSet_12orientations_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_8PieceSet_orientations(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_8PieceSet_orientations(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_12orientations_3__set__(o, v); + return __pyx_pw_13blokus_cython_8PieceSet_12orientations_3__set__(o, v); } else { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_12orientations_5__del__(o); + return __pyx_pw_13blokus_cython_8PieceSet_12orientations_5__del__(o); } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_8PieceSet_num_orientations(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_16num_orientations_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_8PieceSet_num_orientations(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_8PieceSet_16num_orientations_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_8PieceSet_num_orientations(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_8PieceSet_num_orientations(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_16num_orientations_3__set__(o, v); + return __pyx_pw_13blokus_cython_8PieceSet_16num_orientations_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); @@ -43909,51 +45252,51 @@ static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_8PieceSet_num_orient } } -static PyMethodDef __pyx_methods_10blokus_gym_4core_13blokus_cython_PieceSet[] = { - {"get_orientations", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_3get_orientations, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, - {"get_piece", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_5get_piece, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, - {"get_piece_id", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_7get_piece_id, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, - {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_9__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, - {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_11__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, +static PyMethodDef __pyx_methods_13blokus_cython_PieceSet[] = { + {"get_orientations", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_8PieceSet_3get_orientations, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, + {"get_piece", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_8PieceSet_5get_piece, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, + {"get_piece_id", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_8PieceSet_7get_piece_id, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, + {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_8PieceSet_9__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, + {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_8PieceSet_11__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, {0, 0, 0, 0} }; -static struct PyGetSetDef __pyx_getsets_10blokus_gym_4core_13blokus_cython_PieceSet[] = { - {"num_pieces", __pyx_getprop_10blokus_gym_4core_13blokus_cython_8PieceSet_num_pieces, 0, 0, 0}, - {"pieces", __pyx_getprop_10blokus_gym_4core_13blokus_cython_8PieceSet_pieces, __pyx_setprop_10blokus_gym_4core_13blokus_cython_8PieceSet_pieces, 0, 0}, - {"piece_names", __pyx_getprop_10blokus_gym_4core_13blokus_cython_8PieceSet_piece_names, __pyx_setprop_10blokus_gym_4core_13blokus_cython_8PieceSet_piece_names, 0, 0}, - {"piece_id_map", __pyx_getprop_10blokus_gym_4core_13blokus_cython_8PieceSet_piece_id_map, __pyx_setprop_10blokus_gym_4core_13blokus_cython_8PieceSet_piece_id_map, 0, 0}, - {"orientations", __pyx_getprop_10blokus_gym_4core_13blokus_cython_8PieceSet_orientations, __pyx_setprop_10blokus_gym_4core_13blokus_cython_8PieceSet_orientations, 0, 0}, - {"num_orientations", __pyx_getprop_10blokus_gym_4core_13blokus_cython_8PieceSet_num_orientations, __pyx_setprop_10blokus_gym_4core_13blokus_cython_8PieceSet_num_orientations, 0, 0}, +static struct PyGetSetDef __pyx_getsets_13blokus_cython_PieceSet[] = { + {"num_pieces", __pyx_getprop_13blokus_cython_8PieceSet_num_pieces, 0, 0, 0}, + {"pieces", __pyx_getprop_13blokus_cython_8PieceSet_pieces, __pyx_setprop_13blokus_cython_8PieceSet_pieces, 0, 0}, + {"piece_names", __pyx_getprop_13blokus_cython_8PieceSet_piece_names, __pyx_setprop_13blokus_cython_8PieceSet_piece_names, 0, 0}, + {"piece_id_map", __pyx_getprop_13blokus_cython_8PieceSet_piece_id_map, __pyx_setprop_13blokus_cython_8PieceSet_piece_id_map, 0, 0}, + {"orientations", __pyx_getprop_13blokus_cython_8PieceSet_orientations, __pyx_setprop_13blokus_cython_8PieceSet_orientations, 0, 0}, + {"num_orientations", __pyx_getprop_13blokus_cython_8PieceSet_num_orientations, __pyx_setprop_13blokus_cython_8PieceSet_num_orientations, 0, 0}, {0, 0, 0, 0, 0} }; #if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_10blokus_gym_4core_13blokus_cython_PieceSet_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_PieceSet}, +static PyType_Slot __pyx_type_13blokus_cython_PieceSet_slots[] = { + {Py_tp_dealloc, (void *)__pyx_tp_dealloc_13blokus_cython_PieceSet}, {Py_tp_doc, (void *)PyDoc_STR("A collection of pieces with pre-computed orientations.")}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_10blokus_gym_4core_13blokus_cython_PieceSet}, - {Py_tp_clear, (void *)__pyx_tp_clear_10blokus_gym_4core_13blokus_cython_PieceSet}, - {Py_tp_methods, (void *)__pyx_methods_10blokus_gym_4core_13blokus_cython_PieceSet}, - {Py_tp_getset, (void *)__pyx_getsets_10blokus_gym_4core_13blokus_cython_PieceSet}, - {Py_tp_init, (void *)__pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_1__init__}, - {Py_tp_new, (void *)__pyx_tp_new_10blokus_gym_4core_13blokus_cython_PieceSet}, + {Py_tp_traverse, (void *)__pyx_tp_traverse_13blokus_cython_PieceSet}, + {Py_tp_clear, (void *)__pyx_tp_clear_13blokus_cython_PieceSet}, + {Py_tp_methods, (void *)__pyx_methods_13blokus_cython_PieceSet}, + {Py_tp_getset, (void *)__pyx_getsets_13blokus_cython_PieceSet}, + {Py_tp_init, (void *)__pyx_pw_13blokus_cython_8PieceSet_1__init__}, + {Py_tp_new, (void *)__pyx_tp_new_13blokus_cython_PieceSet}, {0, 0}, }; -static PyType_Spec __pyx_type_10blokus_gym_4core_13blokus_cython_PieceSet_spec = { - "blokus_gym.core.blokus_cython.PieceSet", - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet), +static PyType_Spec __pyx_type_13blokus_cython_PieceSet_spec = { + "blokus_cython.PieceSet", + sizeof(struct __pyx_obj_13blokus_cython_PieceSet), 0, Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, - __pyx_type_10blokus_gym_4core_13blokus_cython_PieceSet_slots, + __pyx_type_13blokus_cython_PieceSet_slots, }; #else -static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_PieceSet = { +static PyTypeObject __pyx_type_13blokus_cython_PieceSet = { PyVarObject_HEAD_INIT(0, 0) - "blokus_gym.core.blokus_cython.""PieceSet", /*tp_name*/ - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet), /*tp_basicsize*/ + "blokus_cython.""PieceSet", /*tp_name*/ + sizeof(struct __pyx_obj_13blokus_cython_PieceSet), /*tp_basicsize*/ 0, /*tp_itemsize*/ - __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_PieceSet, /*tp_dealloc*/ + __pyx_tp_dealloc_13blokus_cython_PieceSet, /*tp_dealloc*/ 0, /*tp_vectorcall_offset*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ @@ -43970,15 +45313,15 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_PieceSet = { 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ PyDoc_STR("A collection of pieces with pre-computed orientations."), /*tp_doc*/ - __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython_PieceSet, /*tp_traverse*/ - __pyx_tp_clear_10blokus_gym_4core_13blokus_cython_PieceSet, /*tp_clear*/ + __pyx_tp_traverse_13blokus_cython_PieceSet, /*tp_traverse*/ + __pyx_tp_clear_13blokus_cython_PieceSet, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ - __pyx_methods_10blokus_gym_4core_13blokus_cython_PieceSet, /*tp_methods*/ + __pyx_methods_13blokus_cython_PieceSet, /*tp_methods*/ 0, /*tp_members*/ - __pyx_getsets_10blokus_gym_4core_13blokus_cython_PieceSet, /*tp_getset*/ + __pyx_getsets_13blokus_cython_PieceSet, /*tp_getset*/ 0, /*tp_base*/ 0, /*tp_dict*/ 0, /*tp_descr_get*/ @@ -43986,9 +45329,9 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_PieceSet = { #if !CYTHON_USE_TYPE_SPECS 0, /*tp_dictoffset*/ #endif - __pyx_pw_10blokus_gym_4core_13blokus_cython_8PieceSet_1__init__, /*tp_init*/ + __pyx_pw_13blokus_cython_8PieceSet_1__init__, /*tp_init*/ 0, /*tp_alloc*/ - __pyx_tp_new_10blokus_gym_4core_13blokus_cython_PieceSet, /*tp_new*/ + __pyx_tp_new_13blokus_cython_PieceSet, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_gc*/ 0, /*tp_bases*/ @@ -44021,22 +45364,22 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_PieceSet = { }; #endif -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython_PlayerState(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *p; +static PyObject *__pyx_tp_new_13blokus_cython_PlayerState(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + struct __pyx_obj_13blokus_cython_PlayerState *p; PyObject *o; o = __Pyx_AllocateExtensionType(t, 0); if (unlikely(!o)) return 0; - p = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)o); + p = ((struct __pyx_obj_13blokus_cython_PlayerState *)o); p->available_pieces = ((PyObject*)Py_None); Py_INCREF(Py_None); p->corners = ((PyObject*)Py_None); Py_INCREF(Py_None); return o; } -static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_PlayerState(PyObject *o) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)o; +static void __pyx_tp_dealloc_13blokus_cython_PlayerState(PyObject *o) { + struct __pyx_obj_13blokus_cython_PlayerState *p = (struct __pyx_obj_13blokus_cython_PlayerState *)o; #if CYTHON_USE_TP_FINALIZE if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_PlayerState) { + if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_13blokus_cython_PlayerState) { if (PyObject_CallFinalizerFromDealloc(o)) return; } } @@ -44058,9 +45401,9 @@ static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_PlayerState(PyOb #endif } -static int __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython_PlayerState(PyObject *o, visitproc v, void *a) { +static int __pyx_tp_traverse_13blokus_cython_PlayerState(PyObject *o, visitproc v, void *a) { int e; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)o; + struct __pyx_obj_13blokus_cython_PlayerState *p = (struct __pyx_obj_13blokus_cython_PlayerState *)o; { e = __Pyx_call_type_traverse(o, 1, v, a); if (e) return e; @@ -44074,9 +45417,9 @@ static int __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython_PlayerState(PyOb return 0; } -static int __pyx_tp_clear_10blokus_gym_4core_13blokus_cython_PlayerState(PyObject *o) { +static int __pyx_tp_clear_13blokus_cython_PlayerState(PyObject *o) { PyObject* tmp; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState *)o; + struct __pyx_obj_13blokus_cython_PlayerState *p = (struct __pyx_obj_13blokus_cython_PlayerState *)o; tmp = ((PyObject*)p->available_pieces); p->available_pieces = ((PyObject*)Py_None); Py_INCREF(Py_None); Py_XDECREF(tmp); @@ -44086,13 +45429,13 @@ static int __pyx_tp_clear_10blokus_gym_4core_13blokus_cython_PlayerState(PyObjec return 0; } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_11PlayerState_idx(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_3idx_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_11PlayerState_idx(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_11PlayerState_3idx_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_11PlayerState_idx(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_11PlayerState_idx(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_3idx_3__set__(o, v); + return __pyx_pw_13blokus_cython_11PlayerState_3idx_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); @@ -44100,39 +45443,39 @@ static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_11PlayerState_idx(Py } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_11PlayerState_available_pieces(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_16available_pieces_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_11PlayerState_available_pieces(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_11PlayerState_16available_pieces_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_11PlayerState_available_pieces(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_11PlayerState_available_pieces(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_16available_pieces_3__set__(o, v); + return __pyx_pw_13blokus_cython_11PlayerState_16available_pieces_3__set__(o, v); } else { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_16available_pieces_5__del__(o); + return __pyx_pw_13blokus_cython_11PlayerState_16available_pieces_5__del__(o); } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_11PlayerState_corners(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_7corners_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_11PlayerState_corners(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_11PlayerState_7corners_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_11PlayerState_corners(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_11PlayerState_corners(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_7corners_3__set__(o, v); + return __pyx_pw_13blokus_cython_11PlayerState_7corners_3__set__(o, v); } else { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_7corners_5__del__(o); + return __pyx_pw_13blokus_cython_11PlayerState_7corners_5__del__(o); } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_11PlayerState_score(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_5score_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_11PlayerState_score(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_11PlayerState_5score_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_11PlayerState_score(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_11PlayerState_score(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_5score_3__set__(o, v); + return __pyx_pw_13blokus_cython_11PlayerState_5score_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); @@ -44140,13 +45483,13 @@ static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_11PlayerState_score( } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_11PlayerState_has_started(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_11has_started_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_11PlayerState_has_started(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_11PlayerState_11has_started_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_11PlayerState_has_started(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_11PlayerState_has_started(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_11has_started_3__set__(o, v); + return __pyx_pw_13blokus_cython_11PlayerState_11has_started_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); @@ -44154,13 +45497,13 @@ static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_11PlayerState_has_st } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_11PlayerState_can_move(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_8can_move_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_11PlayerState_can_move(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_11PlayerState_8can_move_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_11PlayerState_can_move(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_11PlayerState_can_move(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_8can_move_3__set__(o, v); + return __pyx_pw_13blokus_cython_11PlayerState_8can_move_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); @@ -44168,48 +45511,48 @@ static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_11PlayerState_can_mo } } -static PyMethodDef __pyx_methods_10blokus_gym_4core_13blokus_cython_PlayerState[] = { - {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_3__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, - {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_5__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, +static PyMethodDef __pyx_methods_13blokus_cython_PlayerState[] = { + {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_11PlayerState_3__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, + {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_11PlayerState_5__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, {0, 0, 0, 0} }; -static struct PyGetSetDef __pyx_getsets_10blokus_gym_4core_13blokus_cython_PlayerState[] = { - {"idx", __pyx_getprop_10blokus_gym_4core_13blokus_cython_11PlayerState_idx, __pyx_setprop_10blokus_gym_4core_13blokus_cython_11PlayerState_idx, 0, 0}, - {"available_pieces", __pyx_getprop_10blokus_gym_4core_13blokus_cython_11PlayerState_available_pieces, __pyx_setprop_10blokus_gym_4core_13blokus_cython_11PlayerState_available_pieces, 0, 0}, - {"corners", __pyx_getprop_10blokus_gym_4core_13blokus_cython_11PlayerState_corners, __pyx_setprop_10blokus_gym_4core_13blokus_cython_11PlayerState_corners, 0, 0}, - {"score", __pyx_getprop_10blokus_gym_4core_13blokus_cython_11PlayerState_score, __pyx_setprop_10blokus_gym_4core_13blokus_cython_11PlayerState_score, 0, 0}, - {"has_started", __pyx_getprop_10blokus_gym_4core_13blokus_cython_11PlayerState_has_started, __pyx_setprop_10blokus_gym_4core_13blokus_cython_11PlayerState_has_started, 0, 0}, - {"can_move", __pyx_getprop_10blokus_gym_4core_13blokus_cython_11PlayerState_can_move, __pyx_setprop_10blokus_gym_4core_13blokus_cython_11PlayerState_can_move, 0, 0}, +static struct PyGetSetDef __pyx_getsets_13blokus_cython_PlayerState[] = { + {"idx", __pyx_getprop_13blokus_cython_11PlayerState_idx, __pyx_setprop_13blokus_cython_11PlayerState_idx, 0, 0}, + {"available_pieces", __pyx_getprop_13blokus_cython_11PlayerState_available_pieces, __pyx_setprop_13blokus_cython_11PlayerState_available_pieces, 0, 0}, + {"corners", __pyx_getprop_13blokus_cython_11PlayerState_corners, __pyx_setprop_13blokus_cython_11PlayerState_corners, 0, 0}, + {"score", __pyx_getprop_13blokus_cython_11PlayerState_score, __pyx_setprop_13blokus_cython_11PlayerState_score, 0, 0}, + {"has_started", __pyx_getprop_13blokus_cython_11PlayerState_has_started, __pyx_setprop_13blokus_cython_11PlayerState_has_started, 0, 0}, + {"can_move", __pyx_getprop_13blokus_cython_11PlayerState_can_move, __pyx_setprop_13blokus_cython_11PlayerState_can_move, 0, 0}, {0, 0, 0, 0, 0} }; #if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_10blokus_gym_4core_13blokus_cython_PlayerState_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_PlayerState}, +static PyType_Slot __pyx_type_13blokus_cython_PlayerState_slots[] = { + {Py_tp_dealloc, (void *)__pyx_tp_dealloc_13blokus_cython_PlayerState}, {Py_tp_doc, (void *)PyDoc_STR("State for a single player.")}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_10blokus_gym_4core_13blokus_cython_PlayerState}, - {Py_tp_clear, (void *)__pyx_tp_clear_10blokus_gym_4core_13blokus_cython_PlayerState}, - {Py_tp_methods, (void *)__pyx_methods_10blokus_gym_4core_13blokus_cython_PlayerState}, - {Py_tp_getset, (void *)__pyx_getsets_10blokus_gym_4core_13blokus_cython_PlayerState}, - {Py_tp_init, (void *)__pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_1__init__}, - {Py_tp_new, (void *)__pyx_tp_new_10blokus_gym_4core_13blokus_cython_PlayerState}, + {Py_tp_traverse, (void *)__pyx_tp_traverse_13blokus_cython_PlayerState}, + {Py_tp_clear, (void *)__pyx_tp_clear_13blokus_cython_PlayerState}, + {Py_tp_methods, (void *)__pyx_methods_13blokus_cython_PlayerState}, + {Py_tp_getset, (void *)__pyx_getsets_13blokus_cython_PlayerState}, + {Py_tp_init, (void *)__pyx_pw_13blokus_cython_11PlayerState_1__init__}, + {Py_tp_new, (void *)__pyx_tp_new_13blokus_cython_PlayerState}, {0, 0}, }; -static PyType_Spec __pyx_type_10blokus_gym_4core_13blokus_cython_PlayerState_spec = { - "blokus_gym.core.blokus_cython.PlayerState", - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState), +static PyType_Spec __pyx_type_13blokus_cython_PlayerState_spec = { + "blokus_cython.PlayerState", + sizeof(struct __pyx_obj_13blokus_cython_PlayerState), 0, Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, - __pyx_type_10blokus_gym_4core_13blokus_cython_PlayerState_slots, + __pyx_type_13blokus_cython_PlayerState_slots, }; #else -static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_PlayerState = { +static PyTypeObject __pyx_type_13blokus_cython_PlayerState = { PyVarObject_HEAD_INIT(0, 0) - "blokus_gym.core.blokus_cython.""PlayerState", /*tp_name*/ - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PlayerState), /*tp_basicsize*/ + "blokus_cython.""PlayerState", /*tp_name*/ + sizeof(struct __pyx_obj_13blokus_cython_PlayerState), /*tp_basicsize*/ 0, /*tp_itemsize*/ - __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_PlayerState, /*tp_dealloc*/ + __pyx_tp_dealloc_13blokus_cython_PlayerState, /*tp_dealloc*/ 0, /*tp_vectorcall_offset*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ @@ -44226,15 +45569,15 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_PlayerState = 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ PyDoc_STR("State for a single player."), /*tp_doc*/ - __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython_PlayerState, /*tp_traverse*/ - __pyx_tp_clear_10blokus_gym_4core_13blokus_cython_PlayerState, /*tp_clear*/ + __pyx_tp_traverse_13blokus_cython_PlayerState, /*tp_traverse*/ + __pyx_tp_clear_13blokus_cython_PlayerState, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ - __pyx_methods_10blokus_gym_4core_13blokus_cython_PlayerState, /*tp_methods*/ + __pyx_methods_13blokus_cython_PlayerState, /*tp_methods*/ 0, /*tp_members*/ - __pyx_getsets_10blokus_gym_4core_13blokus_cython_PlayerState, /*tp_getset*/ + __pyx_getsets_13blokus_cython_PlayerState, /*tp_getset*/ 0, /*tp_base*/ 0, /*tp_dict*/ 0, /*tp_descr_get*/ @@ -44242,9 +45585,9 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_PlayerState = #if !CYTHON_USE_TYPE_SPECS 0, /*tp_dictoffset*/ #endif - __pyx_pw_10blokus_gym_4core_13blokus_cython_11PlayerState_1__init__, /*tp_init*/ + __pyx_pw_13blokus_cython_11PlayerState_1__init__, /*tp_init*/ 0, /*tp_alloc*/ - __pyx_tp_new_10blokus_gym_4core_13blokus_cython_PlayerState, /*tp_new*/ + __pyx_tp_new_13blokus_cython_PlayerState, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_gc*/ 0, /*tp_bases*/ @@ -44276,16 +45619,16 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_PlayerState = #endif }; #endif -static struct __pyx_vtabstruct_10blokus_gym_4core_13blokus_cython_BlokusGame __pyx_vtable_10blokus_gym_4core_13blokus_cython_BlokusGame; +static struct __pyx_vtabstruct_13blokus_cython_BlokusGame __pyx_vtable_13blokus_cython_BlokusGame; -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython_BlokusGame(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *p; +static PyObject *__pyx_tp_new_13blokus_cython_BlokusGame(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + struct __pyx_obj_13blokus_cython_BlokusGame *p; PyObject *o; o = __Pyx_AllocateExtensionType(t, 0); if (unlikely(!o)) return 0; - p = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)o); - p->__pyx_vtab = __pyx_vtabptr_10blokus_gym_4core_13blokus_cython_BlokusGame; - p->piece_set = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)Py_None); Py_INCREF(Py_None); + p = ((struct __pyx_obj_13blokus_cython_BlokusGame *)o); + p->__pyx_vtab = __pyx_vtabptr_13blokus_cython_BlokusGame; + p->piece_set = ((struct __pyx_obj_13blokus_cython_PieceSet *)Py_None); Py_INCREF(Py_None); p->board = Py_None; Py_INCREF(Py_None); p->players = ((PyObject*)Py_None); Py_INCREF(Py_None); p->_action_moves = ((PyObject*)Py_None); Py_INCREF(Py_None); @@ -44295,11 +45638,11 @@ static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython_BlokusGame(PyTy return o; } -static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_BlokusGame(PyObject *o) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)o; +static void __pyx_tp_dealloc_13blokus_cython_BlokusGame(PyObject *o) { + struct __pyx_obj_13blokus_cython_BlokusGame *p = (struct __pyx_obj_13blokus_cython_BlokusGame *)o; #if CYTHON_USE_TP_FINALIZE if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_BlokusGame) { + if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_13blokus_cython_BlokusGame) { if (PyObject_CallFinalizerFromDealloc(o)) return; } } @@ -44326,9 +45669,9 @@ static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_BlokusGame(PyObj #endif } -static int __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython_BlokusGame(PyObject *o, visitproc v, void *a) { +static int __pyx_tp_traverse_13blokus_cython_BlokusGame(PyObject *o, visitproc v, void *a) { int e; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)o; + struct __pyx_obj_13blokus_cython_BlokusGame *p = (struct __pyx_obj_13blokus_cython_BlokusGame *)o; { e = __Pyx_call_type_traverse(o, 1, v, a); if (e) return e; @@ -44357,11 +45700,11 @@ static int __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython_BlokusGame(PyObj return 0; } -static int __pyx_tp_clear_10blokus_gym_4core_13blokus_cython_BlokusGame(PyObject *o) { +static int __pyx_tp_clear_13blokus_cython_BlokusGame(PyObject *o) { PyObject* tmp; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *)o; + struct __pyx_obj_13blokus_cython_BlokusGame *p = (struct __pyx_obj_13blokus_cython_BlokusGame *)o; tmp = ((PyObject*)p->piece_set); - p->piece_set = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_PieceSet *)Py_None); Py_INCREF(Py_None); + p->piece_set = ((struct __pyx_obj_13blokus_cython_PieceSet *)Py_None); Py_INCREF(Py_None); Py_XDECREF(tmp); tmp = ((PyObject*)p->board); p->board = Py_None; Py_INCREF(Py_None); @@ -44384,17 +45727,17 @@ static int __pyx_tp_clear_10blokus_gym_4core_13blokus_cython_BlokusGame(PyObject return 0; } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_num_actions(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_actions_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_10BlokusGame_num_actions(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_10BlokusGame_11num_actions_1__get__(o); } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_board_size(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_10board_size_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_10BlokusGame_board_size(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_10BlokusGame_10board_size_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_board_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_10BlokusGame_board_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_10board_size_3__set__(o, v); + return __pyx_pw_13blokus_cython_10BlokusGame_10board_size_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); @@ -44402,26 +45745,26 @@ static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_board_s } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_piece_set(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_9piece_set_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_10BlokusGame_piece_set(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_10BlokusGame_9piece_set_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_piece_set(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_10BlokusGame_piece_set(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_9piece_set_3__set__(o, v); + return __pyx_pw_13blokus_cython_10BlokusGame_9piece_set_3__set__(o, v); } else { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_9piece_set_5__del__(o); + return __pyx_pw_13blokus_cython_10BlokusGame_9piece_set_5__del__(o); } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_num_players(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_players_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_10BlokusGame_num_players(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_10BlokusGame_11num_players_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_num_players(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_10BlokusGame_num_players(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_11num_players_3__set__(o, v); + return __pyx_pw_13blokus_cython_10BlokusGame_11num_players_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); @@ -44429,13 +45772,13 @@ static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_num_pla } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_corner_rule(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_11corner_rule_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_10BlokusGame_corner_rule(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_10BlokusGame_11corner_rule_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_corner_rule(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_10BlokusGame_corner_rule(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_11corner_rule_3__set__(o, v); + return __pyx_pw_13blokus_cython_10BlokusGame_11corner_rule_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); @@ -44443,39 +45786,39 @@ static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_corner_ } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_board(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_5board_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_10BlokusGame_board(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_10BlokusGame_5board_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_board(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_10BlokusGame_board(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_5board_3__set__(o, v); + return __pyx_pw_13blokus_cython_10BlokusGame_5board_3__set__(o, v); } else { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_5board_5__del__(o); + return __pyx_pw_13blokus_cython_10BlokusGame_5board_5__del__(o); } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_players(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_7players_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_10BlokusGame_players(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_10BlokusGame_7players_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_players(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_10BlokusGame_players(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_7players_3__set__(o, v); + return __pyx_pw_13blokus_cython_10BlokusGame_7players_3__set__(o, v); } else { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_7players_5__del__(o); + return __pyx_pw_13blokus_cython_10BlokusGame_7players_5__del__(o); } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_current_player(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_14current_player_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_10BlokusGame_current_player(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_10BlokusGame_14current_player_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_current_player(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_10BlokusGame_current_player(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_14current_player_3__set__(o, v); + return __pyx_pw_13blokus_cython_10BlokusGame_14current_player_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); @@ -44483,13 +45826,13 @@ static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_current } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_rounds(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_6rounds_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_10BlokusGame_rounds(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_10BlokusGame_6rounds_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_rounds(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_10BlokusGame_rounds(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_6rounds_3__set__(o, v); + return __pyx_pw_13blokus_cython_10BlokusGame_6rounds_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); @@ -44497,13 +45840,13 @@ static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_rounds( } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_game_over(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_9game_over_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_10BlokusGame_game_over(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_10BlokusGame_9game_over_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_game_over(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_10BlokusGame_game_over(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_9game_over_3__set__(o, v); + return __pyx_pw_13blokus_cython_10BlokusGame_9game_over_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); @@ -44511,117 +45854,120 @@ static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_game_ov } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame__action_moves(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_13_action_moves_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_10BlokusGame__action_moves(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_10BlokusGame_13_action_moves_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame__action_moves(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_10BlokusGame__action_moves(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_13_action_moves_3__set__(o, v); + return __pyx_pw_13blokus_cython_10BlokusGame_13_action_moves_3__set__(o, v); } else { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_13_action_moves_5__del__(o); + return __pyx_pw_13blokus_cython_10BlokusGame_13_action_moves_5__del__(o); } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame__move_to_action(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_15_move_to_action_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_10BlokusGame__move_to_action(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_10BlokusGame_15_move_to_action_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame__move_to_action(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_10BlokusGame__move_to_action(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_15_move_to_action_3__set__(o, v); + return __pyx_pw_13blokus_cython_10BlokusGame_15_move_to_action_3__set__(o, v); } else { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_15_move_to_action_5__del__(o); + return __pyx_pw_13blokus_cython_10BlokusGame_15_move_to_action_5__del__(o); } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame__actions_by_piece(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_actions_by_piece_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_10BlokusGame__actions_by_piece(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_10BlokusGame_17_actions_by_piece_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame__actions_by_piece(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_10BlokusGame__actions_by_piece(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_actions_by_piece_3__set__(o, v); + return __pyx_pw_13blokus_cython_10BlokusGame_17_actions_by_piece_3__set__(o, v); } else { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_actions_by_piece_5__del__(o); + return __pyx_pw_13blokus_cython_10BlokusGame_17_actions_by_piece_5__del__(o); } } -static PyObject *__pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame__starting_corners(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_starting_corners_1__get__(o); +static PyObject *__pyx_getprop_13blokus_cython_10BlokusGame__starting_corners(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_13blokus_cython_10BlokusGame_17_starting_corners_1__get__(o); } -static int __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame__starting_corners(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { +static int __pyx_setprop_13blokus_cython_10BlokusGame__starting_corners(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_starting_corners_3__set__(o, v); + return __pyx_pw_13blokus_cython_10BlokusGame_17_starting_corners_3__set__(o, v); } else { - return __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_17_starting_corners_5__del__(o); + return __pyx_pw_13blokus_cython_10BlokusGame_17_starting_corners_5__del__(o); } } -static PyMethodDef __pyx_methods_10blokus_gym_4core_13blokus_cython_BlokusGame[] = { - {"get_move", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_3get_move, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, - {"get_action", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_5get_action, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, - {"reset", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_7reset, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_6reset}, - {"apply_move", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_15apply_move, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_14apply_move}, - {"play_move", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_17play_move, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_16play_move}, - {"next_player", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_19next_player, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_18next_player}, - {"_check_game_over", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_21_check_game_over, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_20_check_game_over}, - {"get_state", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_23get_state, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_22get_state}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_25copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_10blokus_gym_4core_13blokus_cython_10BlokusGame_24copy}, - {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_27__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, - {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_29__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, +static PyMethodDef __pyx_methods_13blokus_cython_BlokusGame[] = { + {"get_move", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_3get_move, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, + {"get_action", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_5get_action, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, + {"reset", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_7reset, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_10BlokusGame_6reset}, + {"apply_move", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_19apply_move, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_10BlokusGame_18apply_move}, + {"play_move", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_21play_move, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_10BlokusGame_20play_move}, + {"next_player", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_23next_player, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_10BlokusGame_22next_player}, + {"_check_game_over", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_25_check_game_over, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_10BlokusGame_24_check_game_over}, + {"is_game_over", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_27is_game_over, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_10BlokusGame_26is_game_over}, + {"get_scores", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_29get_scores, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_10BlokusGame_28get_scores}, + {"get_winners", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_31get_winners, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_10BlokusGame_30get_winners}, + {"get_state", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_33get_state, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_10BlokusGame_32get_state}, + {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_35copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_13blokus_cython_10BlokusGame_34copy}, + {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_37__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, + {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_13blokus_cython_10BlokusGame_39__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}, {0, 0, 0, 0} }; -static struct PyGetSetDef __pyx_getsets_10blokus_gym_4core_13blokus_cython_BlokusGame[] = { - {"num_actions", __pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_num_actions, 0, 0, 0}, - {"board_size", __pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_board_size, __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_board_size, 0, 0}, - {"piece_set", __pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_piece_set, __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_piece_set, 0, 0}, - {"num_players", __pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_num_players, __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_num_players, 0, 0}, - {"corner_rule", __pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_corner_rule, __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_corner_rule, 0, 0}, - {"board", __pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_board, __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_board, 0, 0}, - {"players", __pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_players, __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_players, 0, 0}, - {"current_player", __pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_current_player, __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_current_player, 0, 0}, - {"rounds", __pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_rounds, __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_rounds, 0, 0}, - {"game_over", __pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_game_over, __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame_game_over, 0, 0}, - {"_action_moves", __pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame__action_moves, __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame__action_moves, 0, 0}, - {"_move_to_action", __pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame__move_to_action, __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame__move_to_action, 0, 0}, - {"_actions_by_piece", __pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame__actions_by_piece, __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame__actions_by_piece, 0, 0}, - {"_starting_corners", __pyx_getprop_10blokus_gym_4core_13blokus_cython_10BlokusGame__starting_corners, __pyx_setprop_10blokus_gym_4core_13blokus_cython_10BlokusGame__starting_corners, 0, 0}, +static struct PyGetSetDef __pyx_getsets_13blokus_cython_BlokusGame[] = { + {"num_actions", __pyx_getprop_13blokus_cython_10BlokusGame_num_actions, 0, 0, 0}, + {"board_size", __pyx_getprop_13blokus_cython_10BlokusGame_board_size, __pyx_setprop_13blokus_cython_10BlokusGame_board_size, 0, 0}, + {"piece_set", __pyx_getprop_13blokus_cython_10BlokusGame_piece_set, __pyx_setprop_13blokus_cython_10BlokusGame_piece_set, 0, 0}, + {"num_players", __pyx_getprop_13blokus_cython_10BlokusGame_num_players, __pyx_setprop_13blokus_cython_10BlokusGame_num_players, 0, 0}, + {"corner_rule", __pyx_getprop_13blokus_cython_10BlokusGame_corner_rule, __pyx_setprop_13blokus_cython_10BlokusGame_corner_rule, 0, 0}, + {"board", __pyx_getprop_13blokus_cython_10BlokusGame_board, __pyx_setprop_13blokus_cython_10BlokusGame_board, 0, 0}, + {"players", __pyx_getprop_13blokus_cython_10BlokusGame_players, __pyx_setprop_13blokus_cython_10BlokusGame_players, 0, 0}, + {"current_player", __pyx_getprop_13blokus_cython_10BlokusGame_current_player, __pyx_setprop_13blokus_cython_10BlokusGame_current_player, 0, 0}, + {"rounds", __pyx_getprop_13blokus_cython_10BlokusGame_rounds, __pyx_setprop_13blokus_cython_10BlokusGame_rounds, 0, 0}, + {"game_over", __pyx_getprop_13blokus_cython_10BlokusGame_game_over, __pyx_setprop_13blokus_cython_10BlokusGame_game_over, 0, 0}, + {"_action_moves", __pyx_getprop_13blokus_cython_10BlokusGame__action_moves, __pyx_setprop_13blokus_cython_10BlokusGame__action_moves, 0, 0}, + {"_move_to_action", __pyx_getprop_13blokus_cython_10BlokusGame__move_to_action, __pyx_setprop_13blokus_cython_10BlokusGame__move_to_action, 0, 0}, + {"_actions_by_piece", __pyx_getprop_13blokus_cython_10BlokusGame__actions_by_piece, __pyx_setprop_13blokus_cython_10BlokusGame__actions_by_piece, 0, 0}, + {"_starting_corners", __pyx_getprop_13blokus_cython_10BlokusGame__starting_corners, __pyx_setprop_13blokus_cython_10BlokusGame__starting_corners, 0, 0}, {0, 0, 0, 0, 0} }; #if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_10blokus_gym_4core_13blokus_cython_BlokusGame_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_BlokusGame}, +static PyType_Slot __pyx_type_13blokus_cython_BlokusGame_slots[] = { + {Py_tp_dealloc, (void *)__pyx_tp_dealloc_13blokus_cython_BlokusGame}, {Py_tp_doc, (void *)PyDoc_STR("Cython-optimized Blokus game engine.")}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_10blokus_gym_4core_13blokus_cython_BlokusGame}, - {Py_tp_clear, (void *)__pyx_tp_clear_10blokus_gym_4core_13blokus_cython_BlokusGame}, - {Py_tp_methods, (void *)__pyx_methods_10blokus_gym_4core_13blokus_cython_BlokusGame}, - {Py_tp_getset, (void *)__pyx_getsets_10blokus_gym_4core_13blokus_cython_BlokusGame}, - {Py_tp_init, (void *)__pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_1__init__}, - {Py_tp_new, (void *)__pyx_tp_new_10blokus_gym_4core_13blokus_cython_BlokusGame}, + {Py_tp_traverse, (void *)__pyx_tp_traverse_13blokus_cython_BlokusGame}, + {Py_tp_clear, (void *)__pyx_tp_clear_13blokus_cython_BlokusGame}, + {Py_tp_methods, (void *)__pyx_methods_13blokus_cython_BlokusGame}, + {Py_tp_getset, (void *)__pyx_getsets_13blokus_cython_BlokusGame}, + {Py_tp_init, (void *)__pyx_pw_13blokus_cython_10BlokusGame_1__init__}, + {Py_tp_new, (void *)__pyx_tp_new_13blokus_cython_BlokusGame}, {0, 0}, }; -static PyType_Spec __pyx_type_10blokus_gym_4core_13blokus_cython_BlokusGame_spec = { - "blokus_gym.core.blokus_cython.BlokusGame", - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame), +static PyType_Spec __pyx_type_13blokus_cython_BlokusGame_spec = { + "blokus_cython.BlokusGame", + sizeof(struct __pyx_obj_13blokus_cython_BlokusGame), 0, Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, - __pyx_type_10blokus_gym_4core_13blokus_cython_BlokusGame_slots, + __pyx_type_13blokus_cython_BlokusGame_slots, }; #else -static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_BlokusGame = { +static PyTypeObject __pyx_type_13blokus_cython_BlokusGame = { PyVarObject_HEAD_INIT(0, 0) - "blokus_gym.core.blokus_cython.""BlokusGame", /*tp_name*/ - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame), /*tp_basicsize*/ + "blokus_cython.""BlokusGame", /*tp_name*/ + sizeof(struct __pyx_obj_13blokus_cython_BlokusGame), /*tp_basicsize*/ 0, /*tp_itemsize*/ - __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython_BlokusGame, /*tp_dealloc*/ + __pyx_tp_dealloc_13blokus_cython_BlokusGame, /*tp_dealloc*/ 0, /*tp_vectorcall_offset*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ @@ -44638,15 +45984,15 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_BlokusGame = { 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ PyDoc_STR("Cython-optimized Blokus game engine."), /*tp_doc*/ - __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython_BlokusGame, /*tp_traverse*/ - __pyx_tp_clear_10blokus_gym_4core_13blokus_cython_BlokusGame, /*tp_clear*/ + __pyx_tp_traverse_13blokus_cython_BlokusGame, /*tp_traverse*/ + __pyx_tp_clear_13blokus_cython_BlokusGame, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ - __pyx_methods_10blokus_gym_4core_13blokus_cython_BlokusGame, /*tp_methods*/ + __pyx_methods_13blokus_cython_BlokusGame, /*tp_methods*/ 0, /*tp_members*/ - __pyx_getsets_10blokus_gym_4core_13blokus_cython_BlokusGame, /*tp_getset*/ + __pyx_getsets_13blokus_cython_BlokusGame, /*tp_getset*/ 0, /*tp_base*/ 0, /*tp_dict*/ 0, /*tp_descr_get*/ @@ -44654,9 +46000,9 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_BlokusGame = { #if !CYTHON_USE_TYPE_SPECS 0, /*tp_dictoffset*/ #endif - __pyx_pw_10blokus_gym_4core_13blokus_cython_10BlokusGame_1__init__, /*tp_init*/ + __pyx_pw_13blokus_cython_10BlokusGame_1__init__, /*tp_init*/ 0, /*tp_alloc*/ - __pyx_tp_new_10blokus_gym_4core_13blokus_cython_BlokusGame, /*tp_new*/ + __pyx_tp_new_13blokus_cython_BlokusGame, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_gc*/ 0, /*tp_bases*/ @@ -44689,16 +46035,16 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython_BlokusGame = { }; #endif -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { +static PyObject *__pyx_tp_new_13blokus_cython___pyx_scope_struct__genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { PyObject *o; #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr, sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr)))) + if (likely((int)(__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct__genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_13blokus_cython___pyx_scope_struct__genexpr, sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct__genexpr)))) { - o = (PyObject*)__pyx_mstate_global->__pyx_freelist_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr[--__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr]; + o = (PyObject*)__pyx_mstate_global->__pyx_freelist_13blokus_cython___pyx_scope_struct__genexpr[--__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct__genexpr]; #if CYTHON_USE_TYPE_SPECS Py_DECREF(Py_TYPE(o)); #endif - memset(o, 0, sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr)); + memset(o, 0, sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct__genexpr)); #if CYTHON_COMPILING_IN_LIMITED_API (void) PyObject_Init(o, t); #else @@ -44714,11 +46060,11 @@ static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_str return o; } -static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr(PyObject *o) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr *)o; +static void __pyx_tp_dealloc_13blokus_cython___pyx_scope_struct__genexpr(PyObject *o) { + struct __pyx_obj_13blokus_cython___pyx_scope_struct__genexpr *p = (struct __pyx_obj_13blokus_cython___pyx_scope_struct__genexpr *)o; #if CYTHON_USE_TP_FINALIZE if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr) { + if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_13blokus_cython___pyx_scope_struct__genexpr) { if (PyObject_CallFinalizerFromDealloc(o)) return; } } @@ -44728,9 +46074,9 @@ static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_stru Py_CLEAR(p->__pyx_v_o); Py_CLEAR(p->__pyx_t_0); #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr, sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr)))) + if (likely((int)(__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct__genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_13blokus_cython___pyx_scope_struct__genexpr, sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct__genexpr)))) { - __pyx_mstate_global->__pyx_freelist_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr[__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr++] = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr *)o); + __pyx_mstate_global->__pyx_freelist_13blokus_cython___pyx_scope_struct__genexpr[__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct__genexpr++] = ((struct __pyx_obj_13blokus_cython___pyx_scope_struct__genexpr *)o); } else #endif { @@ -44749,9 +46095,9 @@ static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_stru } } -static int __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr(PyObject *o, visitproc v, void *a) { +static int __pyx_tp_traverse_13blokus_cython___pyx_scope_struct__genexpr(PyObject *o, visitproc v, void *a) { int e; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr *)o; + struct __pyx_obj_13blokus_cython___pyx_scope_struct__genexpr *p = (struct __pyx_obj_13blokus_cython___pyx_scope_struct__genexpr *)o; { e = __Pyx_call_type_traverse(o, 1, v, a); if (e) return e; @@ -44768,27 +46114,27 @@ static int __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_stru return 0; } #if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr}, - {Py_tp_new, (void *)__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr}, +static PyType_Slot __pyx_type_13blokus_cython___pyx_scope_struct__genexpr_slots[] = { + {Py_tp_dealloc, (void *)__pyx_tp_dealloc_13blokus_cython___pyx_scope_struct__genexpr}, + {Py_tp_traverse, (void *)__pyx_tp_traverse_13blokus_cython___pyx_scope_struct__genexpr}, + {Py_tp_new, (void *)__pyx_tp_new_13blokus_cython___pyx_scope_struct__genexpr}, {0, 0}, }; -static PyType_Spec __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr_spec = { - "blokus_gym.core.blokus_cython.__pyx_scope_struct__genexpr", - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr), +static PyType_Spec __pyx_type_13blokus_cython___pyx_scope_struct__genexpr_spec = { + "blokus_cython.__pyx_scope_struct__genexpr", + sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct__genexpr), 0, Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, - __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr_slots, + __pyx_type_13blokus_cython___pyx_scope_struct__genexpr_slots, }; #else -static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr = { +static PyTypeObject __pyx_type_13blokus_cython___pyx_scope_struct__genexpr = { PyVarObject_HEAD_INIT(0, 0) - "blokus_gym.core.blokus_cython.""__pyx_scope_struct__genexpr", /*tp_name*/ - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr), /*tp_basicsize*/ + "blokus_cython.""__pyx_scope_struct__genexpr", /*tp_name*/ + sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct__genexpr), /*tp_basicsize*/ 0, /*tp_itemsize*/ - __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr, /*tp_dealloc*/ + __pyx_tp_dealloc_13blokus_cython___pyx_scope_struct__genexpr, /*tp_dealloc*/ 0, /*tp_vectorcall_offset*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ @@ -44805,7 +46151,7 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_st 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ 0, /*tp_doc*/ - __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr, /*tp_traverse*/ + __pyx_tp_traverse_13blokus_cython___pyx_scope_struct__genexpr, /*tp_traverse*/ 0, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ @@ -44823,7 +46169,7 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_st #endif 0, /*tp_init*/ 0, /*tp_alloc*/ - __pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr, /*tp_new*/ + __pyx_tp_new_13blokus_cython___pyx_scope_struct__genexpr, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_gc*/ 0, /*tp_bases*/ @@ -44856,16 +46202,16 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_st }; #endif -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { +static PyObject *__pyx_tp_new_13blokus_cython___pyx_scope_struct_1_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { PyObject *o; #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr, sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr)))) + if (likely((int)(__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct_1_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_13blokus_cython___pyx_scope_struct_1_genexpr, sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_1_genexpr)))) { - o = (PyObject*)__pyx_mstate_global->__pyx_freelist_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr[--__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr]; + o = (PyObject*)__pyx_mstate_global->__pyx_freelist_13blokus_cython___pyx_scope_struct_1_genexpr[--__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct_1_genexpr]; #if CYTHON_USE_TYPE_SPECS Py_DECREF(Py_TYPE(o)); #endif - memset(o, 0, sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr)); + memset(o, 0, sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_1_genexpr)); #if CYTHON_COMPILING_IN_LIMITED_API (void) PyObject_Init(o, t); #else @@ -44881,11 +46227,11 @@ static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_str return o; } -static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr(PyObject *o) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr *)o; +static void __pyx_tp_dealloc_13blokus_cython___pyx_scope_struct_1_genexpr(PyObject *o) { + struct __pyx_obj_13blokus_cython___pyx_scope_struct_1_genexpr *p = (struct __pyx_obj_13blokus_cython___pyx_scope_struct_1_genexpr *)o; #if CYTHON_USE_TP_FINALIZE if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr) { + if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_13blokus_cython___pyx_scope_struct_1_genexpr) { if (PyObject_CallFinalizerFromDealloc(o)) return; } } @@ -44896,9 +46242,9 @@ static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_stru Py_CLEAR(p->__pyx_v_x); Py_CLEAR(p->__pyx_t_0); #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr, sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr)))) + if (likely((int)(__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct_1_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_13blokus_cython___pyx_scope_struct_1_genexpr, sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_1_genexpr)))) { - __pyx_mstate_global->__pyx_freelist_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr[__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr++] = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr *)o); + __pyx_mstate_global->__pyx_freelist_13blokus_cython___pyx_scope_struct_1_genexpr[__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct_1_genexpr++] = ((struct __pyx_obj_13blokus_cython___pyx_scope_struct_1_genexpr *)o); } else #endif { @@ -44917,9 +46263,9 @@ static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_stru } } -static int __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr(PyObject *o, visitproc v, void *a) { +static int __pyx_tp_traverse_13blokus_cython___pyx_scope_struct_1_genexpr(PyObject *o, visitproc v, void *a) { int e; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr *)o; + struct __pyx_obj_13blokus_cython___pyx_scope_struct_1_genexpr *p = (struct __pyx_obj_13blokus_cython___pyx_scope_struct_1_genexpr *)o; { e = __Pyx_call_type_traverse(o, 1, v, a); if (e) return e; @@ -44939,27 +46285,27 @@ static int __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_stru return 0; } #if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr}, - {Py_tp_new, (void *)__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr}, +static PyType_Slot __pyx_type_13blokus_cython___pyx_scope_struct_1_genexpr_slots[] = { + {Py_tp_dealloc, (void *)__pyx_tp_dealloc_13blokus_cython___pyx_scope_struct_1_genexpr}, + {Py_tp_traverse, (void *)__pyx_tp_traverse_13blokus_cython___pyx_scope_struct_1_genexpr}, + {Py_tp_new, (void *)__pyx_tp_new_13blokus_cython___pyx_scope_struct_1_genexpr}, {0, 0}, }; -static PyType_Spec __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr_spec = { - "blokus_gym.core.blokus_cython.__pyx_scope_struct_1_genexpr", - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr), +static PyType_Spec __pyx_type_13blokus_cython___pyx_scope_struct_1_genexpr_spec = { + "blokus_cython.__pyx_scope_struct_1_genexpr", + sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_1_genexpr), 0, Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, - __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr_slots, + __pyx_type_13blokus_cython___pyx_scope_struct_1_genexpr_slots, }; #else -static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr = { +static PyTypeObject __pyx_type_13blokus_cython___pyx_scope_struct_1_genexpr = { PyVarObject_HEAD_INIT(0, 0) - "blokus_gym.core.blokus_cython.""__pyx_scope_struct_1_genexpr", /*tp_name*/ - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr), /*tp_basicsize*/ + "blokus_cython.""__pyx_scope_struct_1_genexpr", /*tp_name*/ + sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_1_genexpr), /*tp_basicsize*/ 0, /*tp_itemsize*/ - __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr, /*tp_dealloc*/ + __pyx_tp_dealloc_13blokus_cython___pyx_scope_struct_1_genexpr, /*tp_dealloc*/ 0, /*tp_vectorcall_offset*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ @@ -44976,7 +46322,7 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_st 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ 0, /*tp_doc*/ - __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr, /*tp_traverse*/ + __pyx_tp_traverse_13blokus_cython___pyx_scope_struct_1_genexpr, /*tp_traverse*/ 0, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ @@ -44994,7 +46340,7 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_st #endif 0, /*tp_init*/ 0, /*tp_alloc*/ - __pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr, /*tp_new*/ + __pyx_tp_new_13blokus_cython___pyx_scope_struct_1_genexpr, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_gc*/ 0, /*tp_bases*/ @@ -45027,16 +46373,16 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_st }; #endif -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { +static PyObject *__pyx_tp_new_13blokus_cython___pyx_scope_struct_2_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { PyObject *o; #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr, sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr)))) + if (likely((int)(__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct_2_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_13blokus_cython___pyx_scope_struct_2_genexpr, sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_2_genexpr)))) { - o = (PyObject*)__pyx_mstate_global->__pyx_freelist_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr[--__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr]; + o = (PyObject*)__pyx_mstate_global->__pyx_freelist_13blokus_cython___pyx_scope_struct_2_genexpr[--__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct_2_genexpr]; #if CYTHON_USE_TYPE_SPECS Py_DECREF(Py_TYPE(o)); #endif - memset(o, 0, sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr)); + memset(o, 0, sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_2_genexpr)); #if CYTHON_COMPILING_IN_LIMITED_API (void) PyObject_Init(o, t); #else @@ -45052,11 +46398,11 @@ static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_str return o; } -static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr(PyObject *o) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr *)o; +static void __pyx_tp_dealloc_13blokus_cython___pyx_scope_struct_2_genexpr(PyObject *o) { + struct __pyx_obj_13blokus_cython___pyx_scope_struct_2_genexpr *p = (struct __pyx_obj_13blokus_cython___pyx_scope_struct_2_genexpr *)o; #if CYTHON_USE_TP_FINALIZE if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr) { + if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_13blokus_cython___pyx_scope_struct_2_genexpr) { if (PyObject_CallFinalizerFromDealloc(o)) return; } } @@ -45067,9 +46413,9 @@ static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_stru Py_CLEAR(p->__pyx_v_y); Py_CLEAR(p->__pyx_t_0); #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr, sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr)))) + if (likely((int)(__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct_2_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_13blokus_cython___pyx_scope_struct_2_genexpr, sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_2_genexpr)))) { - __pyx_mstate_global->__pyx_freelist_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr[__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr++] = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr *)o); + __pyx_mstate_global->__pyx_freelist_13blokus_cython___pyx_scope_struct_2_genexpr[__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct_2_genexpr++] = ((struct __pyx_obj_13blokus_cython___pyx_scope_struct_2_genexpr *)o); } else #endif { @@ -45088,9 +46434,9 @@ static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_stru } } -static int __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr(PyObject *o, visitproc v, void *a) { +static int __pyx_tp_traverse_13blokus_cython___pyx_scope_struct_2_genexpr(PyObject *o, visitproc v, void *a) { int e; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr *)o; + struct __pyx_obj_13blokus_cython___pyx_scope_struct_2_genexpr *p = (struct __pyx_obj_13blokus_cython___pyx_scope_struct_2_genexpr *)o; { e = __Pyx_call_type_traverse(o, 1, v, a); if (e) return e; @@ -45110,27 +46456,27 @@ static int __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_stru return 0; } #if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr}, - {Py_tp_new, (void *)__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr}, +static PyType_Slot __pyx_type_13blokus_cython___pyx_scope_struct_2_genexpr_slots[] = { + {Py_tp_dealloc, (void *)__pyx_tp_dealloc_13blokus_cython___pyx_scope_struct_2_genexpr}, + {Py_tp_traverse, (void *)__pyx_tp_traverse_13blokus_cython___pyx_scope_struct_2_genexpr}, + {Py_tp_new, (void *)__pyx_tp_new_13blokus_cython___pyx_scope_struct_2_genexpr}, {0, 0}, }; -static PyType_Spec __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr_spec = { - "blokus_gym.core.blokus_cython.__pyx_scope_struct_2_genexpr", - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr), +static PyType_Spec __pyx_type_13blokus_cython___pyx_scope_struct_2_genexpr_spec = { + "blokus_cython.__pyx_scope_struct_2_genexpr", + sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_2_genexpr), 0, Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, - __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr_slots, + __pyx_type_13blokus_cython___pyx_scope_struct_2_genexpr_slots, }; #else -static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr = { +static PyTypeObject __pyx_type_13blokus_cython___pyx_scope_struct_2_genexpr = { PyVarObject_HEAD_INIT(0, 0) - "blokus_gym.core.blokus_cython.""__pyx_scope_struct_2_genexpr", /*tp_name*/ - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr), /*tp_basicsize*/ + "blokus_cython.""__pyx_scope_struct_2_genexpr", /*tp_name*/ + sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_2_genexpr), /*tp_basicsize*/ 0, /*tp_itemsize*/ - __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr, /*tp_dealloc*/ + __pyx_tp_dealloc_13blokus_cython___pyx_scope_struct_2_genexpr, /*tp_dealloc*/ 0, /*tp_vectorcall_offset*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ @@ -45147,7 +46493,7 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_st 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ 0, /*tp_doc*/ - __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr, /*tp_traverse*/ + __pyx_tp_traverse_13blokus_cython___pyx_scope_struct_2_genexpr, /*tp_traverse*/ 0, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ @@ -45165,7 +46511,7 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_st #endif 0, /*tp_init*/ 0, /*tp_alloc*/ - __pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr, /*tp_new*/ + __pyx_tp_new_13blokus_cython___pyx_scope_struct_2_genexpr, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_gc*/ 0, /*tp_bases*/ @@ -45198,16 +46544,16 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_st }; #endif -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { +static PyObject *__pyx_tp_new_13blokus_cython___pyx_scope_struct_3_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { PyObject *o; #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr, sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr)))) + if (likely((int)(__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct_3_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_13blokus_cython___pyx_scope_struct_3_genexpr, sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_3_genexpr)))) { - o = (PyObject*)__pyx_mstate_global->__pyx_freelist_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr[--__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr]; + o = (PyObject*)__pyx_mstate_global->__pyx_freelist_13blokus_cython___pyx_scope_struct_3_genexpr[--__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct_3_genexpr]; #if CYTHON_USE_TYPE_SPECS Py_DECREF(Py_TYPE(o)); #endif - memset(o, 0, sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr)); + memset(o, 0, sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_3_genexpr)); #if CYTHON_COMPILING_IN_LIMITED_API (void) PyObject_Init(o, t); #else @@ -45223,11 +46569,11 @@ static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_str return o; } -static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr(PyObject *o) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr *)o; +static void __pyx_tp_dealloc_13blokus_cython___pyx_scope_struct_3_genexpr(PyObject *o) { + struct __pyx_obj_13blokus_cython___pyx_scope_struct_3_genexpr *p = (struct __pyx_obj_13blokus_cython___pyx_scope_struct_3_genexpr *)o; #if CYTHON_USE_TP_FINALIZE if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr) { + if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_13blokus_cython___pyx_scope_struct_3_genexpr) { if (PyObject_CallFinalizerFromDealloc(o)) return; } } @@ -45238,9 +46584,9 @@ static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_stru Py_CLEAR(p->__pyx_v_x); Py_CLEAR(p->__pyx_t_0); #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr, sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr)))) + if (likely((int)(__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct_3_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_13blokus_cython___pyx_scope_struct_3_genexpr, sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_3_genexpr)))) { - __pyx_mstate_global->__pyx_freelist_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr[__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr++] = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr *)o); + __pyx_mstate_global->__pyx_freelist_13blokus_cython___pyx_scope_struct_3_genexpr[__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct_3_genexpr++] = ((struct __pyx_obj_13blokus_cython___pyx_scope_struct_3_genexpr *)o); } else #endif { @@ -45259,9 +46605,9 @@ static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_stru } } -static int __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr(PyObject *o, visitproc v, void *a) { +static int __pyx_tp_traverse_13blokus_cython___pyx_scope_struct_3_genexpr(PyObject *o, visitproc v, void *a) { int e; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr *)o; + struct __pyx_obj_13blokus_cython___pyx_scope_struct_3_genexpr *p = (struct __pyx_obj_13blokus_cython___pyx_scope_struct_3_genexpr *)o; { e = __Pyx_call_type_traverse(o, 1, v, a); if (e) return e; @@ -45281,27 +46627,27 @@ static int __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_stru return 0; } #if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr}, - {Py_tp_new, (void *)__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr}, +static PyType_Slot __pyx_type_13blokus_cython___pyx_scope_struct_3_genexpr_slots[] = { + {Py_tp_dealloc, (void *)__pyx_tp_dealloc_13blokus_cython___pyx_scope_struct_3_genexpr}, + {Py_tp_traverse, (void *)__pyx_tp_traverse_13blokus_cython___pyx_scope_struct_3_genexpr}, + {Py_tp_new, (void *)__pyx_tp_new_13blokus_cython___pyx_scope_struct_3_genexpr}, {0, 0}, }; -static PyType_Spec __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr_spec = { - "blokus_gym.core.blokus_cython.__pyx_scope_struct_3_genexpr", - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr), +static PyType_Spec __pyx_type_13blokus_cython___pyx_scope_struct_3_genexpr_spec = { + "blokus_cython.__pyx_scope_struct_3_genexpr", + sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_3_genexpr), 0, Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, - __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr_slots, + __pyx_type_13blokus_cython___pyx_scope_struct_3_genexpr_slots, }; #else -static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr = { +static PyTypeObject __pyx_type_13blokus_cython___pyx_scope_struct_3_genexpr = { PyVarObject_HEAD_INIT(0, 0) - "blokus_gym.core.blokus_cython.""__pyx_scope_struct_3_genexpr", /*tp_name*/ - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr), /*tp_basicsize*/ + "blokus_cython.""__pyx_scope_struct_3_genexpr", /*tp_name*/ + sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_3_genexpr), /*tp_basicsize*/ 0, /*tp_itemsize*/ - __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr, /*tp_dealloc*/ + __pyx_tp_dealloc_13blokus_cython___pyx_scope_struct_3_genexpr, /*tp_dealloc*/ 0, /*tp_vectorcall_offset*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ @@ -45318,7 +46664,7 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_st 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ 0, /*tp_doc*/ - __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr, /*tp_traverse*/ + __pyx_tp_traverse_13blokus_cython___pyx_scope_struct_3_genexpr, /*tp_traverse*/ 0, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ @@ -45336,7 +46682,7 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_st #endif 0, /*tp_init*/ 0, /*tp_alloc*/ - __pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr, /*tp_new*/ + __pyx_tp_new_13blokus_cython___pyx_scope_struct_3_genexpr, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_gc*/ 0, /*tp_bases*/ @@ -45369,16 +46715,16 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_st }; #endif -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { +static PyObject *__pyx_tp_new_13blokus_cython___pyx_scope_struct_4_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { PyObject *o; #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr, sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr)))) + if (likely((int)(__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct_4_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_13blokus_cython___pyx_scope_struct_4_genexpr, sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_4_genexpr)))) { - o = (PyObject*)__pyx_mstate_global->__pyx_freelist_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr[--__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr]; + o = (PyObject*)__pyx_mstate_global->__pyx_freelist_13blokus_cython___pyx_scope_struct_4_genexpr[--__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct_4_genexpr]; #if CYTHON_USE_TYPE_SPECS Py_DECREF(Py_TYPE(o)); #endif - memset(o, 0, sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr)); + memset(o, 0, sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_4_genexpr)); #if CYTHON_COMPILING_IN_LIMITED_API (void) PyObject_Init(o, t); #else @@ -45394,11 +46740,11 @@ static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_str return o; } -static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr(PyObject *o) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr *)o; +static void __pyx_tp_dealloc_13blokus_cython___pyx_scope_struct_4_genexpr(PyObject *o) { + struct __pyx_obj_13blokus_cython___pyx_scope_struct_4_genexpr *p = (struct __pyx_obj_13blokus_cython___pyx_scope_struct_4_genexpr *)o; #if CYTHON_USE_TP_FINALIZE if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr) { + if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_13blokus_cython___pyx_scope_struct_4_genexpr) { if (PyObject_CallFinalizerFromDealloc(o)) return; } } @@ -45409,9 +46755,9 @@ static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_stru Py_CLEAR(p->__pyx_v_y); Py_CLEAR(p->__pyx_t_0); #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr, sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr)))) + if (likely((int)(__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct_4_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_13blokus_cython___pyx_scope_struct_4_genexpr, sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_4_genexpr)))) { - __pyx_mstate_global->__pyx_freelist_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr[__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr++] = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr *)o); + __pyx_mstate_global->__pyx_freelist_13blokus_cython___pyx_scope_struct_4_genexpr[__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct_4_genexpr++] = ((struct __pyx_obj_13blokus_cython___pyx_scope_struct_4_genexpr *)o); } else #endif { @@ -45430,9 +46776,9 @@ static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_stru } } -static int __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr(PyObject *o, visitproc v, void *a) { +static int __pyx_tp_traverse_13blokus_cython___pyx_scope_struct_4_genexpr(PyObject *o, visitproc v, void *a) { int e; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr *)o; + struct __pyx_obj_13blokus_cython___pyx_scope_struct_4_genexpr *p = (struct __pyx_obj_13blokus_cython___pyx_scope_struct_4_genexpr *)o; { e = __Pyx_call_type_traverse(o, 1, v, a); if (e) return e; @@ -45452,27 +46798,27 @@ static int __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_stru return 0; } #if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr}, - {Py_tp_new, (void *)__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr}, +static PyType_Slot __pyx_type_13blokus_cython___pyx_scope_struct_4_genexpr_slots[] = { + {Py_tp_dealloc, (void *)__pyx_tp_dealloc_13blokus_cython___pyx_scope_struct_4_genexpr}, + {Py_tp_traverse, (void *)__pyx_tp_traverse_13blokus_cython___pyx_scope_struct_4_genexpr}, + {Py_tp_new, (void *)__pyx_tp_new_13blokus_cython___pyx_scope_struct_4_genexpr}, {0, 0}, }; -static PyType_Spec __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr_spec = { - "blokus_gym.core.blokus_cython.__pyx_scope_struct_4_genexpr", - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr), +static PyType_Spec __pyx_type_13blokus_cython___pyx_scope_struct_4_genexpr_spec = { + "blokus_cython.__pyx_scope_struct_4_genexpr", + sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_4_genexpr), 0, Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, - __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr_slots, + __pyx_type_13blokus_cython___pyx_scope_struct_4_genexpr_slots, }; #else -static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr = { +static PyTypeObject __pyx_type_13blokus_cython___pyx_scope_struct_4_genexpr = { PyVarObject_HEAD_INIT(0, 0) - "blokus_gym.core.blokus_cython.""__pyx_scope_struct_4_genexpr", /*tp_name*/ - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr), /*tp_basicsize*/ + "blokus_cython.""__pyx_scope_struct_4_genexpr", /*tp_name*/ + sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_4_genexpr), /*tp_basicsize*/ 0, /*tp_itemsize*/ - __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr, /*tp_dealloc*/ + __pyx_tp_dealloc_13blokus_cython___pyx_scope_struct_4_genexpr, /*tp_dealloc*/ 0, /*tp_vectorcall_offset*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ @@ -45489,7 +46835,7 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_st 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ 0, /*tp_doc*/ - __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr, /*tp_traverse*/ + __pyx_tp_traverse_13blokus_cython___pyx_scope_struct_4_genexpr, /*tp_traverse*/ 0, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ @@ -45507,7 +46853,7 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_st #endif 0, /*tp_init*/ 0, /*tp_alloc*/ - __pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr, /*tp_new*/ + __pyx_tp_new_13blokus_cython___pyx_scope_struct_4_genexpr, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_gc*/ 0, /*tp_bases*/ @@ -45540,16 +46886,16 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_st }; #endif -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { +static PyObject *__pyx_tp_new_13blokus_cython___pyx_scope_struct_5_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { PyObject *o; #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr, sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr)))) + if (likely((int)(__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct_5_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_13blokus_cython___pyx_scope_struct_5_genexpr, sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_5_genexpr)))) { - o = (PyObject*)__pyx_mstate_global->__pyx_freelist_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr[--__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr]; + o = (PyObject*)__pyx_mstate_global->__pyx_freelist_13blokus_cython___pyx_scope_struct_5_genexpr[--__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct_5_genexpr]; #if CYTHON_USE_TYPE_SPECS Py_DECREF(Py_TYPE(o)); #endif - memset(o, 0, sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr)); + memset(o, 0, sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_5_genexpr)); #if CYTHON_COMPILING_IN_LIMITED_API (void) PyObject_Init(o, t); #else @@ -45565,11 +46911,11 @@ static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_str return o; } -static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr(PyObject *o) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr *)o; +static void __pyx_tp_dealloc_13blokus_cython___pyx_scope_struct_5_genexpr(PyObject *o) { + struct __pyx_obj_13blokus_cython___pyx_scope_struct_5_genexpr *p = (struct __pyx_obj_13blokus_cython___pyx_scope_struct_5_genexpr *)o; #if CYTHON_USE_TP_FINALIZE if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr) { + if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_13blokus_cython___pyx_scope_struct_5_genexpr) { if (PyObject_CallFinalizerFromDealloc(o)) return; } } @@ -45578,9 +46924,9 @@ static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_stru Py_CLEAR(p->__pyx_genexpr_arg_0); Py_CLEAR(p->__pyx_v_p); #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr, sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr)))) + if (likely((int)(__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct_5_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_13blokus_cython___pyx_scope_struct_5_genexpr, sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_5_genexpr)))) { - __pyx_mstate_global->__pyx_freelist_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr[__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr++] = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr *)o); + __pyx_mstate_global->__pyx_freelist_13blokus_cython___pyx_scope_struct_5_genexpr[__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct_5_genexpr++] = ((struct __pyx_obj_13blokus_cython___pyx_scope_struct_5_genexpr *)o); } else #endif { @@ -45599,9 +46945,9 @@ static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_stru } } -static int __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr(PyObject *o, visitproc v, void *a) { +static int __pyx_tp_traverse_13blokus_cython___pyx_scope_struct_5_genexpr(PyObject *o, visitproc v, void *a) { int e; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr *)o; + struct __pyx_obj_13blokus_cython___pyx_scope_struct_5_genexpr *p = (struct __pyx_obj_13blokus_cython___pyx_scope_struct_5_genexpr *)o; { e = __Pyx_call_type_traverse(o, 1, v, a); if (e) return e; @@ -45615,27 +46961,27 @@ static int __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_stru return 0; } #if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr}, - {Py_tp_new, (void *)__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr}, +static PyType_Slot __pyx_type_13blokus_cython___pyx_scope_struct_5_genexpr_slots[] = { + {Py_tp_dealloc, (void *)__pyx_tp_dealloc_13blokus_cython___pyx_scope_struct_5_genexpr}, + {Py_tp_traverse, (void *)__pyx_tp_traverse_13blokus_cython___pyx_scope_struct_5_genexpr}, + {Py_tp_new, (void *)__pyx_tp_new_13blokus_cython___pyx_scope_struct_5_genexpr}, {0, 0}, }; -static PyType_Spec __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr_spec = { - "blokus_gym.core.blokus_cython.__pyx_scope_struct_5_genexpr", - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr), +static PyType_Spec __pyx_type_13blokus_cython___pyx_scope_struct_5_genexpr_spec = { + "blokus_cython.__pyx_scope_struct_5_genexpr", + sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_5_genexpr), 0, Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, - __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr_slots, + __pyx_type_13blokus_cython___pyx_scope_struct_5_genexpr_slots, }; #else -static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr = { +static PyTypeObject __pyx_type_13blokus_cython___pyx_scope_struct_5_genexpr = { PyVarObject_HEAD_INIT(0, 0) - "blokus_gym.core.blokus_cython.""__pyx_scope_struct_5_genexpr", /*tp_name*/ - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr), /*tp_basicsize*/ + "blokus_cython.""__pyx_scope_struct_5_genexpr", /*tp_name*/ + sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_5_genexpr), /*tp_basicsize*/ 0, /*tp_itemsize*/ - __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr, /*tp_dealloc*/ + __pyx_tp_dealloc_13blokus_cython___pyx_scope_struct_5_genexpr, /*tp_dealloc*/ 0, /*tp_vectorcall_offset*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ @@ -45652,7 +46998,7 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_st 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ 0, /*tp_doc*/ - __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr, /*tp_traverse*/ + __pyx_tp_traverse_13blokus_cython___pyx_scope_struct_5_genexpr, /*tp_traverse*/ 0, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ @@ -45670,7 +47016,7 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_st #endif 0, /*tp_init*/ 0, /*tp_alloc*/ - __pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr, /*tp_new*/ + __pyx_tp_new_13blokus_cython___pyx_scope_struct_5_genexpr, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_gc*/ 0, /*tp_bases*/ @@ -45703,16 +47049,16 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_st }; #endif -static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { +static PyObject *__pyx_tp_new_13blokus_cython___pyx_scope_struct_6_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { PyObject *o; #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr, sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr)))) + if (likely((int)(__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct_6_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_13blokus_cython___pyx_scope_struct_6_genexpr, sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_6_genexpr)))) { - o = (PyObject*)__pyx_mstate_global->__pyx_freelist_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr[--__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr]; + o = (PyObject*)__pyx_mstate_global->__pyx_freelist_13blokus_cython___pyx_scope_struct_6_genexpr[--__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct_6_genexpr]; #if CYTHON_USE_TYPE_SPECS Py_DECREF(Py_TYPE(o)); #endif - memset(o, 0, sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr)); + memset(o, 0, sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_6_genexpr)); #if CYTHON_COMPILING_IN_LIMITED_API (void) PyObject_Init(o, t); #else @@ -45728,11 +47074,11 @@ static PyObject *__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_str return o; } -static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr(PyObject *o) { - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr *)o; +static void __pyx_tp_dealloc_13blokus_cython___pyx_scope_struct_6_genexpr(PyObject *o) { + struct __pyx_obj_13blokus_cython___pyx_scope_struct_6_genexpr *p = (struct __pyx_obj_13blokus_cython___pyx_scope_struct_6_genexpr *)o; #if CYTHON_USE_TP_FINALIZE if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr) { + if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_13blokus_cython___pyx_scope_struct_6_genexpr) { if (PyObject_CallFinalizerFromDealloc(o)) return; } } @@ -45741,9 +47087,9 @@ static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_stru Py_CLEAR(p->__pyx_genexpr_arg_0); Py_CLEAR(p->__pyx_v_p); #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr, sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr)))) + if (likely((int)(__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct_6_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_13blokus_cython___pyx_scope_struct_6_genexpr, sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_6_genexpr)))) { - __pyx_mstate_global->__pyx_freelist_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr[__pyx_mstate_global->__pyx_freecount_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr++] = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr *)o); + __pyx_mstate_global->__pyx_freelist_13blokus_cython___pyx_scope_struct_6_genexpr[__pyx_mstate_global->__pyx_freecount_13blokus_cython___pyx_scope_struct_6_genexpr++] = ((struct __pyx_obj_13blokus_cython___pyx_scope_struct_6_genexpr *)o); } else #endif { @@ -45762,9 +47108,9 @@ static void __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_stru } } -static int __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr(PyObject *o, visitproc v, void *a) { +static int __pyx_tp_traverse_13blokus_cython___pyx_scope_struct_6_genexpr(PyObject *o, visitproc v, void *a) { int e; - struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr *p = (struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr *)o; + struct __pyx_obj_13blokus_cython___pyx_scope_struct_6_genexpr *p = (struct __pyx_obj_13blokus_cython___pyx_scope_struct_6_genexpr *)o; { e = __Pyx_call_type_traverse(o, 1, v, a); if (e) return e; @@ -45778,27 +47124,27 @@ static int __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_stru return 0; } #if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr}, - {Py_tp_new, (void *)__pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr}, +static PyType_Slot __pyx_type_13blokus_cython___pyx_scope_struct_6_genexpr_slots[] = { + {Py_tp_dealloc, (void *)__pyx_tp_dealloc_13blokus_cython___pyx_scope_struct_6_genexpr}, + {Py_tp_traverse, (void *)__pyx_tp_traverse_13blokus_cython___pyx_scope_struct_6_genexpr}, + {Py_tp_new, (void *)__pyx_tp_new_13blokus_cython___pyx_scope_struct_6_genexpr}, {0, 0}, }; -static PyType_Spec __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr_spec = { - "blokus_gym.core.blokus_cython.__pyx_scope_struct_6_genexpr", - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr), +static PyType_Spec __pyx_type_13blokus_cython___pyx_scope_struct_6_genexpr_spec = { + "blokus_cython.__pyx_scope_struct_6_genexpr", + sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_6_genexpr), 0, Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, - __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr_slots, + __pyx_type_13blokus_cython___pyx_scope_struct_6_genexpr_slots, }; #else -static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr = { +static PyTypeObject __pyx_type_13blokus_cython___pyx_scope_struct_6_genexpr = { PyVarObject_HEAD_INIT(0, 0) - "blokus_gym.core.blokus_cython.""__pyx_scope_struct_6_genexpr", /*tp_name*/ - sizeof(struct __pyx_obj_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr), /*tp_basicsize*/ + "blokus_cython.""__pyx_scope_struct_6_genexpr", /*tp_name*/ + sizeof(struct __pyx_obj_13blokus_cython___pyx_scope_struct_6_genexpr), /*tp_basicsize*/ 0, /*tp_itemsize*/ - __pyx_tp_dealloc_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr, /*tp_dealloc*/ + __pyx_tp_dealloc_13blokus_cython___pyx_scope_struct_6_genexpr, /*tp_dealloc*/ 0, /*tp_vectorcall_offset*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ @@ -45815,7 +47161,7 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_st 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ 0, /*tp_doc*/ - __pyx_tp_traverse_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr, /*tp_traverse*/ + __pyx_tp_traverse_13blokus_cython___pyx_scope_struct_6_genexpr, /*tp_traverse*/ 0, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ @@ -45833,7 +47179,7 @@ static PyTypeObject __pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_st #endif 0, /*tp_init*/ 0, /*tp_alloc*/ - __pyx_tp_new_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr, /*tp_new*/ + __pyx_tp_new_13blokus_cython___pyx_scope_struct_6_genexpr, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_gc*/ 0, /*tp_bases*/ @@ -45991,7 +47337,7 @@ static PyType_Slot __pyx_type___pyx_array_slots[] = { {0, 0}, }; static PyType_Spec __pyx_type___pyx_array_spec = { - "blokus_gym.core.blokus_cython.array", + "blokus_cython.array", sizeof(struct __pyx_array_obj), 0, Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_SEQUENCE, @@ -46025,7 +47371,7 @@ static PyBufferProcs __pyx_tp_as_buffer_array = { static PyTypeObject __pyx_type___pyx_array = { PyVarObject_HEAD_INIT(0, 0) - "blokus_gym.core.blokus_cython.""array", /*tp_name*/ + "blokus_cython.""array", /*tp_name*/ sizeof(struct __pyx_array_obj), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_array, /*tp_dealloc*/ @@ -46170,7 +47516,7 @@ static PyType_Slot __pyx_type___pyx_MemviewEnum_slots[] = { {0, 0}, }; static PyType_Spec __pyx_type___pyx_MemviewEnum_spec = { - "blokus_gym.core.blokus_cython.Enum", + "blokus_cython.Enum", sizeof(struct __pyx_MemviewEnum_obj), 0, Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, @@ -46180,7 +47526,7 @@ static PyType_Spec __pyx_type___pyx_MemviewEnum_spec = { static PyTypeObject __pyx_type___pyx_MemviewEnum = { PyVarObject_HEAD_INIT(0, 0) - "blokus_gym.core.blokus_cython.""Enum", /*tp_name*/ + "blokus_cython.""Enum", /*tp_name*/ sizeof(struct __pyx_MemviewEnum_obj), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_Enum, /*tp_dealloc*/ @@ -46447,7 +47793,7 @@ static PyType_Slot __pyx_type___pyx_memoryview_slots[] = { {0, 0}, }; static PyType_Spec __pyx_type___pyx_memoryview_spec = { - "blokus_gym.core.blokus_cython.memoryview", + "blokus_cython.memoryview", sizeof(struct __pyx_memoryview_obj), 0, Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, @@ -46481,7 +47827,7 @@ static PyBufferProcs __pyx_tp_as_buffer_memoryview = { static PyTypeObject __pyx_type___pyx_memoryview = { PyVarObject_HEAD_INIT(0, 0) - "blokus_gym.core.blokus_cython.""memoryview", /*tp_name*/ + "blokus_cython.""memoryview", /*tp_name*/ sizeof(struct __pyx_memoryview_obj), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_memoryview, /*tp_dealloc*/ @@ -46624,7 +47970,7 @@ static PyType_Slot __pyx_type___pyx_memoryviewslice_slots[] = { {0, 0}, }; static PyType_Spec __pyx_type___pyx_memoryviewslice_spec = { - "blokus_gym.core.blokus_cython._memoryviewslice", + "blokus_cython._memoryviewslice", sizeof(struct __pyx_memoryviewslice_obj), 0, Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_SEQUENCE, @@ -46634,7 +47980,7 @@ static PyType_Spec __pyx_type___pyx_memoryviewslice_spec = { static PyTypeObject __pyx_type___pyx_memoryviewslice = { PyVarObject_HEAD_INIT(0, 0) - "blokus_gym.core.blokus_cython.""_memoryviewslice", /*tp_name*/ + "blokus_cython.""_memoryviewslice", /*tp_name*/ sizeof(struct __pyx_memoryviewslice_obj), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc__memoryviewslice, /*tp_dealloc*/ @@ -46736,49 +48082,49 @@ static int __Pyx_modinit_global_init_code(__pyx_mstatetype *__pyx_mstate) { CYTHON_UNUSED_VAR(__pyx_mstate); __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); /*--- Global init code ---*/ - __pyx_v_10blokus_gym_4core_13blokus_cython__I1_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__I2_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__I3_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__V3_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__I4_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__L4_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__T4_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__S4_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__O4_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__I5_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__L5_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__Y5_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__N5_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__T5_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__U5_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__V5_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__W5_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__Z5_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__F5_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__X5_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__P5_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__I1 = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__I2 = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__I3 = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__V3 = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__I4 = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__L4 = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__T4 = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__S4 = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__O4 = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__I5 = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__L5 = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__Y5 = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__N5 = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__T5 = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__U5 = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__V5 = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__W5 = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__Z5 = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__F5 = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__X5 = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython__P5 = ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); - __pyx_v_10blokus_gym_4core_13blokus_cython_STANDARD_PIECES = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__I1_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__I2_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__I3_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__V3_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__I4_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__L4_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__T4_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__S4_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__O4_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__I5_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__L5_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__Y5_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__N5_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__T5_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__U5_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__V5_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__W5_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__Z5_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__F5_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__X5_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__P5_squares = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__I1 = ((struct __pyx_obj_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__I2 = ((struct __pyx_obj_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__I3 = ((struct __pyx_obj_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__V3 = ((struct __pyx_obj_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__I4 = ((struct __pyx_obj_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__L4 = ((struct __pyx_obj_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__T4 = ((struct __pyx_obj_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__S4 = ((struct __pyx_obj_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__O4 = ((struct __pyx_obj_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__I5 = ((struct __pyx_obj_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__L5 = ((struct __pyx_obj_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__Y5 = ((struct __pyx_obj_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__N5 = ((struct __pyx_obj_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__T5 = ((struct __pyx_obj_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__U5 = ((struct __pyx_obj_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__V5 = ((struct __pyx_obj_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__W5 = ((struct __pyx_obj_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__Z5 = ((struct __pyx_obj_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__F5 = ((struct __pyx_obj_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__X5 = ((struct __pyx_obj_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython__P5 = ((struct __pyx_obj_13blokus_cython_Piece *)Py_None); Py_INCREF(Py_None); + __pyx_v_13blokus_cython_STANDARD_PIECES = ((PyObject*)Py_None); Py_INCREF(Py_None); __pyx_collections_abc_Sequence = Py_None; Py_INCREF(Py_None); generic = Py_None; Py_INCREF(Py_None); strided = Py_None; Py_INCREF(Py_None); @@ -46816,297 +48162,299 @@ static int __Pyx_modinit_type_init_code(__pyx_mstatetype *__pyx_mstate) { int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); /*--- Type init code ---*/ - __pyx_vtabptr_10blokus_gym_4core_13blokus_cython_Board = &__pyx_vtable_10blokus_gym_4core_13blokus_cython_Board; - __pyx_vtable_10blokus_gym_4core_13blokus_cython_Board.is_cell_empty = (int (*)(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Board *, int, int))__pyx_f_10blokus_gym_4core_13blokus_cython_5Board_is_cell_empty; + __pyx_vtabptr_13blokus_cython_Board = &__pyx_vtable_13blokus_cython_Board; + __pyx_vtable_13blokus_cython_Board.is_cell_empty = (int (*)(struct __pyx_obj_13blokus_cython_Board *, int, int))__pyx_f_13blokus_cython_5Board_is_cell_empty; #if CYTHON_USE_TYPE_SPECS - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_10blokus_gym_4core_13blokus_cython_Board_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board)) __PYX_ERR(0, 17, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_10blokus_gym_4core_13blokus_cython_Board_spec, __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board) < (0)) __PYX_ERR(0, 17, __pyx_L1_error) + __pyx_mstate->__pyx_ptype_13blokus_cython_Board = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_13blokus_cython_Board_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_13blokus_cython_Board)) __PYX_ERR(0, 17, __pyx_L1_error) + if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_13blokus_cython_Board_spec, __pyx_mstate->__pyx_ptype_13blokus_cython_Board) < (0)) __PYX_ERR(0, 17, __pyx_L1_error) #else - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board = &__pyx_type_10blokus_gym_4core_13blokus_cython_Board; + __pyx_mstate->__pyx_ptype_13blokus_cython_Board = &__pyx_type_13blokus_cython_Board; #endif #if !CYTHON_COMPILING_IN_LIMITED_API #endif #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board) < (0)) __PYX_ERR(0, 17, __pyx_L1_error) + if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_13blokus_cython_Board) < (0)) __PYX_ERR(0, 17, __pyx_L1_error) #endif #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board); + PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_13blokus_cython_Board); #endif #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board->tp_dictoffset && __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board->tp_getattro = PyObject_GenericGetAttr; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_13blokus_cython_Board->tp_dictoffset && __pyx_mstate->__pyx_ptype_13blokus_cython_Board->tp_getattro == PyObject_GenericGetAttr)) { + __pyx_mstate->__pyx_ptype_13blokus_cython_Board->tp_getattro = PyObject_GenericGetAttr; } #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board, __pyx_vtabptr_10blokus_gym_4core_13blokus_cython_Board) < (0)) __PYX_ERR(0, 17, __pyx_L1_error) - if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board) < (0)) __PYX_ERR(0, 17, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Board, (PyObject *) __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board) < (0)) __PYX_ERR(0, 17, __pyx_L1_error) - if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board) < (0)) __PYX_ERR(0, 17, __pyx_L1_error) + if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_13blokus_cython_Board, __pyx_vtabptr_13blokus_cython_Board) < (0)) __PYX_ERR(0, 17, __pyx_L1_error) + if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_13blokus_cython_Board) < (0)) __PYX_ERR(0, 17, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Board, (PyObject *) __pyx_mstate->__pyx_ptype_13blokus_cython_Board) < (0)) __PYX_ERR(0, 17, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_13blokus_cython_Board) < (0)) __PYX_ERR(0, 17, __pyx_L1_error) #if CYTHON_USE_TYPE_SPECS - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Move = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_10blokus_gym_4core_13blokus_cython_Move_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Move)) __PYX_ERR(0, 171, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_10blokus_gym_4core_13blokus_cython_Move_spec, __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Move) < (0)) __PYX_ERR(0, 171, __pyx_L1_error) + __pyx_mstate->__pyx_ptype_13blokus_cython_Move = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_13blokus_cython_Move_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_13blokus_cython_Move)) __PYX_ERR(0, 171, __pyx_L1_error) + if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_13blokus_cython_Move_spec, __pyx_mstate->__pyx_ptype_13blokus_cython_Move) < (0)) __PYX_ERR(0, 171, __pyx_L1_error) #else - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Move = &__pyx_type_10blokus_gym_4core_13blokus_cython_Move; + __pyx_mstate->__pyx_ptype_13blokus_cython_Move = &__pyx_type_13blokus_cython_Move; #endif #if !CYTHON_COMPILING_IN_LIMITED_API #endif #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Move) < (0)) __PYX_ERR(0, 171, __pyx_L1_error) + if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_13blokus_cython_Move) < (0)) __PYX_ERR(0, 171, __pyx_L1_error) #endif #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Move); + PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_13blokus_cython_Move); #endif #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Move->tp_dictoffset && __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Move->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Move->tp_getattro = PyObject_GenericGetAttr; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_13blokus_cython_Move->tp_dictoffset && __pyx_mstate->__pyx_ptype_13blokus_cython_Move->tp_getattro == PyObject_GenericGetAttr)) { + __pyx_mstate->__pyx_ptype_13blokus_cython_Move->tp_getattro = PyObject_GenericGetAttr; } #endif - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Move, (PyObject *) __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Move) < (0)) __PYX_ERR(0, 171, __pyx_L1_error) - if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Move) < (0)) __PYX_ERR(0, 171, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Move, (PyObject *) __pyx_mstate->__pyx_ptype_13blokus_cython_Move) < (0)) __PYX_ERR(0, 171, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_13blokus_cython_Move) < (0)) __PYX_ERR(0, 171, __pyx_L1_error) #if CYTHON_USE_TYPE_SPECS - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceOrientation = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_10blokus_gym_4core_13blokus_cython_PieceOrientation_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceOrientation)) __PYX_ERR(0, 189, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_10blokus_gym_4core_13blokus_cython_PieceOrientation_spec, __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceOrientation) < (0)) __PYX_ERR(0, 189, __pyx_L1_error) + __pyx_mstate->__pyx_ptype_13blokus_cython_PieceOrientation = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_13blokus_cython_PieceOrientation_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_13blokus_cython_PieceOrientation)) __PYX_ERR(0, 189, __pyx_L1_error) + if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_13blokus_cython_PieceOrientation_spec, __pyx_mstate->__pyx_ptype_13blokus_cython_PieceOrientation) < (0)) __PYX_ERR(0, 189, __pyx_L1_error) #else - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceOrientation = &__pyx_type_10blokus_gym_4core_13blokus_cython_PieceOrientation; + __pyx_mstate->__pyx_ptype_13blokus_cython_PieceOrientation = &__pyx_type_13blokus_cython_PieceOrientation; #endif #if !CYTHON_COMPILING_IN_LIMITED_API #endif #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceOrientation) < (0)) __PYX_ERR(0, 189, __pyx_L1_error) + if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_13blokus_cython_PieceOrientation) < (0)) __PYX_ERR(0, 189, __pyx_L1_error) #endif #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceOrientation); + PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_13blokus_cython_PieceOrientation); #endif #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceOrientation->tp_dictoffset && __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceOrientation->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceOrientation->tp_getattro = PyObject_GenericGetAttr; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_13blokus_cython_PieceOrientation->tp_dictoffset && __pyx_mstate->__pyx_ptype_13blokus_cython_PieceOrientation->tp_getattro == PyObject_GenericGetAttr)) { + __pyx_mstate->__pyx_ptype_13blokus_cython_PieceOrientation->tp_getattro = PyObject_GenericGetAttr; } #endif - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PieceOrientation, (PyObject *) __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceOrientation) < (0)) __PYX_ERR(0, 189, __pyx_L1_error) - if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceOrientation) < (0)) __PYX_ERR(0, 189, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PieceOrientation, (PyObject *) __pyx_mstate->__pyx_ptype_13blokus_cython_PieceOrientation) < (0)) __PYX_ERR(0, 189, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_13blokus_cython_PieceOrientation) < (0)) __PYX_ERR(0, 189, __pyx_L1_error) #if CYTHON_USE_TYPE_SPECS - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_10blokus_gym_4core_13blokus_cython_Piece_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece)) __PYX_ERR(0, 204, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_10blokus_gym_4core_13blokus_cython_Piece_spec, __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece) < (0)) __PYX_ERR(0, 204, __pyx_L1_error) + __pyx_mstate->__pyx_ptype_13blokus_cython_Piece = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_13blokus_cython_Piece_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_13blokus_cython_Piece)) __PYX_ERR(0, 204, __pyx_L1_error) + if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_13blokus_cython_Piece_spec, __pyx_mstate->__pyx_ptype_13blokus_cython_Piece) < (0)) __PYX_ERR(0, 204, __pyx_L1_error) #else - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece = &__pyx_type_10blokus_gym_4core_13blokus_cython_Piece; + __pyx_mstate->__pyx_ptype_13blokus_cython_Piece = &__pyx_type_13blokus_cython_Piece; #endif #if !CYTHON_COMPILING_IN_LIMITED_API #endif #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece) < (0)) __PYX_ERR(0, 204, __pyx_L1_error) + if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_13blokus_cython_Piece) < (0)) __PYX_ERR(0, 204, __pyx_L1_error) #endif #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece); + PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_13blokus_cython_Piece); #endif #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece->tp_dictoffset && __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece->tp_getattro = PyObject_GenericGetAttr; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_13blokus_cython_Piece->tp_dictoffset && __pyx_mstate->__pyx_ptype_13blokus_cython_Piece->tp_getattro == PyObject_GenericGetAttr)) { + __pyx_mstate->__pyx_ptype_13blokus_cython_Piece->tp_getattro = PyObject_GenericGetAttr; } #endif - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Piece, (PyObject *) __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece) < (0)) __PYX_ERR(0, 204, __pyx_L1_error) - if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece) < (0)) __PYX_ERR(0, 204, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Piece, (PyObject *) __pyx_mstate->__pyx_ptype_13blokus_cython_Piece) < (0)) __PYX_ERR(0, 204, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_13blokus_cython_Piece) < (0)) __PYX_ERR(0, 204, __pyx_L1_error) #if CYTHON_USE_TYPE_SPECS - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceSet = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_10blokus_gym_4core_13blokus_cython_PieceSet_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceSet)) __PYX_ERR(0, 219, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_10blokus_gym_4core_13blokus_cython_PieceSet_spec, __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceSet) < (0)) __PYX_ERR(0, 219, __pyx_L1_error) + __pyx_mstate->__pyx_ptype_13blokus_cython_PieceSet = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_13blokus_cython_PieceSet_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_13blokus_cython_PieceSet)) __PYX_ERR(0, 219, __pyx_L1_error) + if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_13blokus_cython_PieceSet_spec, __pyx_mstate->__pyx_ptype_13blokus_cython_PieceSet) < (0)) __PYX_ERR(0, 219, __pyx_L1_error) #else - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceSet = &__pyx_type_10blokus_gym_4core_13blokus_cython_PieceSet; + __pyx_mstate->__pyx_ptype_13blokus_cython_PieceSet = &__pyx_type_13blokus_cython_PieceSet; #endif #if !CYTHON_COMPILING_IN_LIMITED_API #endif #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceSet) < (0)) __PYX_ERR(0, 219, __pyx_L1_error) + if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_13blokus_cython_PieceSet) < (0)) __PYX_ERR(0, 219, __pyx_L1_error) #endif #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceSet); + PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_13blokus_cython_PieceSet); #endif #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceSet->tp_dictoffset && __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceSet->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceSet->tp_getattro = PyObject_GenericGetAttr; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_13blokus_cython_PieceSet->tp_dictoffset && __pyx_mstate->__pyx_ptype_13blokus_cython_PieceSet->tp_getattro == PyObject_GenericGetAttr)) { + __pyx_mstate->__pyx_ptype_13blokus_cython_PieceSet->tp_getattro = PyObject_GenericGetAttr; } #endif - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PieceSet, (PyObject *) __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceSet) < (0)) __PYX_ERR(0, 219, __pyx_L1_error) - if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceSet) < (0)) __PYX_ERR(0, 219, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PieceSet, (PyObject *) __pyx_mstate->__pyx_ptype_13blokus_cython_PieceSet) < (0)) __PYX_ERR(0, 219, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_13blokus_cython_PieceSet) < (0)) __PYX_ERR(0, 219, __pyx_L1_error) #if CYTHON_USE_TYPE_SPECS - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PlayerState = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_10blokus_gym_4core_13blokus_cython_PlayerState_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PlayerState)) __PYX_ERR(0, 373, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_10blokus_gym_4core_13blokus_cython_PlayerState_spec, __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PlayerState) < (0)) __PYX_ERR(0, 373, __pyx_L1_error) + __pyx_mstate->__pyx_ptype_13blokus_cython_PlayerState = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_13blokus_cython_PlayerState_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_13blokus_cython_PlayerState)) __PYX_ERR(0, 378, __pyx_L1_error) + if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_13blokus_cython_PlayerState_spec, __pyx_mstate->__pyx_ptype_13blokus_cython_PlayerState) < (0)) __PYX_ERR(0, 378, __pyx_L1_error) #else - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PlayerState = &__pyx_type_10blokus_gym_4core_13blokus_cython_PlayerState; + __pyx_mstate->__pyx_ptype_13blokus_cython_PlayerState = &__pyx_type_13blokus_cython_PlayerState; #endif #if !CYTHON_COMPILING_IN_LIMITED_API #endif #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PlayerState) < (0)) __PYX_ERR(0, 373, __pyx_L1_error) + if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_13blokus_cython_PlayerState) < (0)) __PYX_ERR(0, 378, __pyx_L1_error) #endif #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PlayerState); + PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_13blokus_cython_PlayerState); #endif #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PlayerState->tp_dictoffset && __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PlayerState->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PlayerState->tp_getattro = PyObject_GenericGetAttr; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_13blokus_cython_PlayerState->tp_dictoffset && __pyx_mstate->__pyx_ptype_13blokus_cython_PlayerState->tp_getattro == PyObject_GenericGetAttr)) { + __pyx_mstate->__pyx_ptype_13blokus_cython_PlayerState->tp_getattro = PyObject_GenericGetAttr; } #endif - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PlayerState, (PyObject *) __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PlayerState) < (0)) __PYX_ERR(0, 373, __pyx_L1_error) - if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PlayerState) < (0)) __PYX_ERR(0, 373, __pyx_L1_error) - __pyx_vtabptr_10blokus_gym_4core_13blokus_cython_BlokusGame = &__pyx_vtable_10blokus_gym_4core_13blokus_cython_BlokusGame; - __pyx_vtable_10blokus_gym_4core_13blokus_cython_BlokusGame._generate_action_space = (void (*)(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *))__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__generate_action_space; - __pyx_vtable_10blokus_gym_4core_13blokus_cython_BlokusGame._get_placed_squares = (PyObject *(*)(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *, struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *))__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_placed_squares; - __pyx_vtable_10blokus_gym_4core_13blokus_cython_BlokusGame._get_placed_corners = (PyObject *(*)(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *, struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *))__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame__get_placed_corners; - __pyx_vtable_10blokus_gym_4core_13blokus_cython_BlokusGame.valid_move = (int (*)(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *, int, struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Move *, int __pyx_skip_dispatch))__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_valid_move; - __pyx_vtable_10blokus_gym_4core_13blokus_cython_BlokusGame.get_valid_actions = (PyObject *(*)(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *, int, int __pyx_skip_dispatch))__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_get_valid_actions; - __pyx_vtable_10blokus_gym_4core_13blokus_cython_BlokusGame.has_valid_moves = (int (*)(struct __pyx_obj_10blokus_gym_4core_13blokus_cython_BlokusGame *, int, int __pyx_skip_dispatch))__pyx_f_10blokus_gym_4core_13blokus_cython_10BlokusGame_has_valid_moves; + if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PlayerState, (PyObject *) __pyx_mstate->__pyx_ptype_13blokus_cython_PlayerState) < (0)) __PYX_ERR(0, 378, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_13blokus_cython_PlayerState) < (0)) __PYX_ERR(0, 378, __pyx_L1_error) + __pyx_vtabptr_13blokus_cython_BlokusGame = &__pyx_vtable_13blokus_cython_BlokusGame; + __pyx_vtable_13blokus_cython_BlokusGame._generate_action_space = (void (*)(struct __pyx_obj_13blokus_cython_BlokusGame *))__pyx_f_13blokus_cython_10BlokusGame__generate_action_space; + __pyx_vtable_13blokus_cython_BlokusGame._get_placed_squares = (PyObject *(*)(struct __pyx_obj_13blokus_cython_BlokusGame *, struct __pyx_obj_13blokus_cython_Move *))__pyx_f_13blokus_cython_10BlokusGame__get_placed_squares; + __pyx_vtable_13blokus_cython_BlokusGame.get_placed_squares = (PyObject *(*)(struct __pyx_obj_13blokus_cython_BlokusGame *, struct __pyx_obj_13blokus_cython_Move *, int __pyx_skip_dispatch))__pyx_f_13blokus_cython_10BlokusGame_get_placed_squares; + __pyx_vtable_13blokus_cython_BlokusGame._get_placed_corners = (PyObject *(*)(struct __pyx_obj_13blokus_cython_BlokusGame *, struct __pyx_obj_13blokus_cython_Move *))__pyx_f_13blokus_cython_10BlokusGame__get_placed_corners; + __pyx_vtable_13blokus_cython_BlokusGame.get_placed_corners = (PyObject *(*)(struct __pyx_obj_13blokus_cython_BlokusGame *, struct __pyx_obj_13blokus_cython_Move *, int __pyx_skip_dispatch))__pyx_f_13blokus_cython_10BlokusGame_get_placed_corners; + __pyx_vtable_13blokus_cython_BlokusGame.valid_move = (int (*)(struct __pyx_obj_13blokus_cython_BlokusGame *, int, struct __pyx_obj_13blokus_cython_Move *, int __pyx_skip_dispatch))__pyx_f_13blokus_cython_10BlokusGame_valid_move; + __pyx_vtable_13blokus_cython_BlokusGame.get_valid_actions = (PyObject *(*)(struct __pyx_obj_13blokus_cython_BlokusGame *, int, int __pyx_skip_dispatch))__pyx_f_13blokus_cython_10BlokusGame_get_valid_actions; + __pyx_vtable_13blokus_cython_BlokusGame.has_valid_moves = (int (*)(struct __pyx_obj_13blokus_cython_BlokusGame *, int, int __pyx_skip_dispatch))__pyx_f_13blokus_cython_10BlokusGame_has_valid_moves; #if CYTHON_USE_TYPE_SPECS - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_10blokus_gym_4core_13blokus_cython_BlokusGame_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame)) __PYX_ERR(0, 396, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_10blokus_gym_4core_13blokus_cython_BlokusGame_spec, __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame) < (0)) __PYX_ERR(0, 396, __pyx_L1_error) + __pyx_mstate->__pyx_ptype_13blokus_cython_BlokusGame = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_13blokus_cython_BlokusGame_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_13blokus_cython_BlokusGame)) __PYX_ERR(0, 401, __pyx_L1_error) + if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_13blokus_cython_BlokusGame_spec, __pyx_mstate->__pyx_ptype_13blokus_cython_BlokusGame) < (0)) __PYX_ERR(0, 401, __pyx_L1_error) #else - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame = &__pyx_type_10blokus_gym_4core_13blokus_cython_BlokusGame; + __pyx_mstate->__pyx_ptype_13blokus_cython_BlokusGame = &__pyx_type_13blokus_cython_BlokusGame; #endif #if !CYTHON_COMPILING_IN_LIMITED_API #endif #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame) < (0)) __PYX_ERR(0, 396, __pyx_L1_error) + if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_13blokus_cython_BlokusGame) < (0)) __PYX_ERR(0, 401, __pyx_L1_error) #endif #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame); + PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_13blokus_cython_BlokusGame); #endif #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame->tp_dictoffset && __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame->tp_getattro = PyObject_GenericGetAttr; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_13blokus_cython_BlokusGame->tp_dictoffset && __pyx_mstate->__pyx_ptype_13blokus_cython_BlokusGame->tp_getattro == PyObject_GenericGetAttr)) { + __pyx_mstate->__pyx_ptype_13blokus_cython_BlokusGame->tp_getattro = PyObject_GenericGetAttr; } #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame, __pyx_vtabptr_10blokus_gym_4core_13blokus_cython_BlokusGame) < (0)) __PYX_ERR(0, 396, __pyx_L1_error) - if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame) < (0)) __PYX_ERR(0, 396, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_BlokusGame, (PyObject *) __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame) < (0)) __PYX_ERR(0, 396, __pyx_L1_error) - if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame) < (0)) __PYX_ERR(0, 396, __pyx_L1_error) + if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_13blokus_cython_BlokusGame, __pyx_vtabptr_13blokus_cython_BlokusGame) < (0)) __PYX_ERR(0, 401, __pyx_L1_error) + if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_13blokus_cython_BlokusGame) < (0)) __PYX_ERR(0, 401, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_BlokusGame, (PyObject *) __pyx_mstate->__pyx_ptype_13blokus_cython_BlokusGame) < (0)) __PYX_ERR(0, 401, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_13blokus_cython_BlokusGame) < (0)) __PYX_ERR(0, 401, __pyx_L1_error) #if CYTHON_USE_TYPE_SPECS - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr)) __PYX_ERR(0, 241, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr_spec, __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr) < (0)) __PYX_ERR(0, 241, __pyx_L1_error) + __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct__genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_13blokus_cython___pyx_scope_struct__genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct__genexpr)) __PYX_ERR(0, 241, __pyx_L1_error) + if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_13blokus_cython___pyx_scope_struct__genexpr_spec, __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct__genexpr) < (0)) __PYX_ERR(0, 241, __pyx_L1_error) #else - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr = &__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr; + __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct__genexpr = &__pyx_type_13blokus_cython___pyx_scope_struct__genexpr; #endif #if !CYTHON_COMPILING_IN_LIMITED_API #endif #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr) < (0)) __PYX_ERR(0, 241, __pyx_L1_error) + if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct__genexpr) < (0)) __PYX_ERR(0, 241, __pyx_L1_error) #endif #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr); + PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct__genexpr); #endif #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct__genexpr->tp_getattro = PyObject_GenericGetAttr; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct__genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct__genexpr->tp_getattro == PyObject_GenericGetAttr)) { + __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct__genexpr->tp_getattro = PyObject_GenericGetAttr; } #endif #if CYTHON_USE_TYPE_SPECS - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr)) __PYX_ERR(0, 351, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr_spec, __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr) < (0)) __PYX_ERR(0, 351, __pyx_L1_error) + __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_1_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_13blokus_cython___pyx_scope_struct_1_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_1_genexpr)) __PYX_ERR(0, 356, __pyx_L1_error) + if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_13blokus_cython___pyx_scope_struct_1_genexpr_spec, __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_1_genexpr) < (0)) __PYX_ERR(0, 356, __pyx_L1_error) #else - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr = &__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr; + __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_1_genexpr = &__pyx_type_13blokus_cython___pyx_scope_struct_1_genexpr; #endif #if !CYTHON_COMPILING_IN_LIMITED_API #endif #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr) < (0)) __PYX_ERR(0, 351, __pyx_L1_error) + if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_1_genexpr) < (0)) __PYX_ERR(0, 356, __pyx_L1_error) #endif #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr); + PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_1_genexpr); #endif #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_1_genexpr->tp_getattro = PyObject_GenericGetAttr; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_1_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_1_genexpr->tp_getattro == PyObject_GenericGetAttr)) { + __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_1_genexpr->tp_getattro = PyObject_GenericGetAttr; } #endif #if CYTHON_USE_TYPE_SPECS - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr)) __PYX_ERR(0, 352, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr_spec, __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr) < (0)) __PYX_ERR(0, 352, __pyx_L1_error) + __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_2_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_13blokus_cython___pyx_scope_struct_2_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_2_genexpr)) __PYX_ERR(0, 357, __pyx_L1_error) + if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_13blokus_cython___pyx_scope_struct_2_genexpr_spec, __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_2_genexpr) < (0)) __PYX_ERR(0, 357, __pyx_L1_error) #else - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr = &__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr; + __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_2_genexpr = &__pyx_type_13blokus_cython___pyx_scope_struct_2_genexpr; #endif #if !CYTHON_COMPILING_IN_LIMITED_API #endif #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr) < (0)) __PYX_ERR(0, 352, __pyx_L1_error) + if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_2_genexpr) < (0)) __PYX_ERR(0, 357, __pyx_L1_error) #endif #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr); + PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_2_genexpr); #endif #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_2_genexpr->tp_getattro = PyObject_GenericGetAttr; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_2_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_2_genexpr->tp_getattro == PyObject_GenericGetAttr)) { + __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_2_genexpr->tp_getattro = PyObject_GenericGetAttr; } #endif #if CYTHON_USE_TYPE_SPECS - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr)) __PYX_ERR(0, 481, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr_spec, __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr) < (0)) __PYX_ERR(0, 481, __pyx_L1_error) + __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_3_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_13blokus_cython___pyx_scope_struct_3_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_3_genexpr)) __PYX_ERR(0, 486, __pyx_L1_error) + if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_13blokus_cython___pyx_scope_struct_3_genexpr_spec, __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_3_genexpr) < (0)) __PYX_ERR(0, 486, __pyx_L1_error) #else - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr = &__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr; + __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_3_genexpr = &__pyx_type_13blokus_cython___pyx_scope_struct_3_genexpr; #endif #if !CYTHON_COMPILING_IN_LIMITED_API #endif #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr) < (0)) __PYX_ERR(0, 481, __pyx_L1_error) + if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_3_genexpr) < (0)) __PYX_ERR(0, 486, __pyx_L1_error) #endif #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr); + PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_3_genexpr); #endif #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_3_genexpr->tp_getattro = PyObject_GenericGetAttr; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_3_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_3_genexpr->tp_getattro == PyObject_GenericGetAttr)) { + __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_3_genexpr->tp_getattro = PyObject_GenericGetAttr; } #endif #if CYTHON_USE_TYPE_SPECS - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr)) __PYX_ERR(0, 482, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr_spec, __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr) < (0)) __PYX_ERR(0, 482, __pyx_L1_error) + __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_4_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_13blokus_cython___pyx_scope_struct_4_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_4_genexpr)) __PYX_ERR(0, 487, __pyx_L1_error) + if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_13blokus_cython___pyx_scope_struct_4_genexpr_spec, __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_4_genexpr) < (0)) __PYX_ERR(0, 487, __pyx_L1_error) #else - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr = &__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr; + __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_4_genexpr = &__pyx_type_13blokus_cython___pyx_scope_struct_4_genexpr; #endif #if !CYTHON_COMPILING_IN_LIMITED_API #endif #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr) < (0)) __PYX_ERR(0, 482, __pyx_L1_error) + if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_4_genexpr) < (0)) __PYX_ERR(0, 487, __pyx_L1_error) #endif #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr); + PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_4_genexpr); #endif #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_4_genexpr->tp_getattro = PyObject_GenericGetAttr; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_4_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_4_genexpr->tp_getattro == PyObject_GenericGetAttr)) { + __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_4_genexpr->tp_getattro = PyObject_GenericGetAttr; } #endif #if CYTHON_USE_TYPE_SPECS - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr)) __PYX_ERR(0, 754, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr_spec, __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr) < (0)) __PYX_ERR(0, 754, __pyx_L1_error) + __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_5_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_13blokus_cython___pyx_scope_struct_5_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_5_genexpr)) __PYX_ERR(0, 767, __pyx_L1_error) + if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_13blokus_cython___pyx_scope_struct_5_genexpr_spec, __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_5_genexpr) < (0)) __PYX_ERR(0, 767, __pyx_L1_error) #else - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr = &__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr; + __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_5_genexpr = &__pyx_type_13blokus_cython___pyx_scope_struct_5_genexpr; #endif #if !CYTHON_COMPILING_IN_LIMITED_API #endif #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr) < (0)) __PYX_ERR(0, 754, __pyx_L1_error) + if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_5_genexpr) < (0)) __PYX_ERR(0, 767, __pyx_L1_error) #endif #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr); + PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_5_genexpr); #endif #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_5_genexpr->tp_getattro = PyObject_GenericGetAttr; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_5_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_5_genexpr->tp_getattro == PyObject_GenericGetAttr)) { + __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_5_genexpr->tp_getattro = PyObject_GenericGetAttr; } #endif #if CYTHON_USE_TYPE_SPECS - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr)) __PYX_ERR(0, 756, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr_spec, __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr) < (0)) __PYX_ERR(0, 756, __pyx_L1_error) + __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_6_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_13blokus_cython___pyx_scope_struct_6_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_6_genexpr)) __PYX_ERR(0, 769, __pyx_L1_error) + if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_13blokus_cython___pyx_scope_struct_6_genexpr_spec, __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_6_genexpr) < (0)) __PYX_ERR(0, 769, __pyx_L1_error) #else - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr = &__pyx_type_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr; + __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_6_genexpr = &__pyx_type_13blokus_cython___pyx_scope_struct_6_genexpr; #endif #if !CYTHON_COMPILING_IN_LIMITED_API #endif #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr) < (0)) __PYX_ERR(0, 756, __pyx_L1_error) + if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_6_genexpr) < (0)) __PYX_ERR(0, 769, __pyx_L1_error) #endif #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr); + PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_6_genexpr); #endif #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_10blokus_gym_4core_13blokus_cython___pyx_scope_struct_6_genexpr->tp_getattro = PyObject_GenericGetAttr; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_6_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_6_genexpr->tp_getattro == PyObject_GenericGetAttr)) { + __pyx_mstate->__pyx_ptype_13blokus_cython___pyx_scope_struct_6_genexpr->tp_getattro = PyObject_GenericGetAttr; } #endif __pyx_vtabptr_array = &__pyx_vtable_array; @@ -47676,13 +49024,13 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); if (__Pyx_InitConstants(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error) stringtab_initialized = 1; if (__Pyx_InitGlobals() < (0)) __PYX_ERR(0, 1, __pyx_L1_error) - if (__pyx_module_is_main_blokus_gym__core__blokus_cython) { + if (__pyx_module_is_main_blokus_cython) { if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_name_2, __pyx_mstate_global->__pyx_n_u_main) < (0)) __PYX_ERR(0, 1, __pyx_L1_error) } { PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) - if (!PyDict_GetItemString(modules, "blokus_gym.core.blokus_cython")) { - if (unlikely((PyDict_SetItemString(modules, "blokus_gym.core.blokus_cython", __pyx_m) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) + if (!PyDict_GetItemString(modules, "blokus_cython")) { + if (unlikely((PyDict_SetItemString(modules, "blokus_cython", __pyx_m) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) } } /*--- Builtin init code ---*/ @@ -48191,7 +49539,7 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Enum, __pyx_t_4) < (0)) __PYX_ERR(1, 4, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":9 + /* "blokus_cython.pyx":9 * cimport cython * from cython cimport bint * import numpy as np # <<<<<<<<<<<<<< @@ -48204,22 +49552,22 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_np, __pyx_t_4) < (0)) __PYX_ERR(0, 9, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":35 + /* "blokus_cython.pyx":35 * self._occupied_cache = {} * * def place(self, int player_idx, list squares): # <<<<<<<<<<<<<< * """Place a player's piece on the board.""" * cdef int x, y */ - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_3place, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board_place, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[7])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35, __pyx_L1_error) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_5Board_3place, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board_place, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[7])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_place, __pyx_t_4) < (0)) __PYX_ERR(0, 35, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_place, __pyx_t_4) < (0)) __PYX_ERR(0, 35, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":49 + /* "blokus_cython.pyx":49 * self._occupied_cache[player_idx].update(squares) * * def clear(self) -> None: # <<<<<<<<<<<<<< @@ -48229,17 +49577,17 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 49, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_None) < (0)) __PYX_ERR(0, 49, __pyx_L1_error) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_5clear, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board_clear, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[8])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 49, __pyx_L1_error) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_5Board_5clear, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board_clear, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[8])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 49, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_5, __pyx_t_4); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_clear, __pyx_t_5) < (0)) __PYX_ERR(0, 49, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_clear, __pyx_t_5) < (0)) __PYX_ERR(0, 49, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "blokus_gym/core/blokus_cython.pyx":53 + /* "blokus_cython.pyx":53 * self.grid.fill(0) * * def is_empty(self, int x, int y) -> bool: # <<<<<<<<<<<<<< @@ -48249,17 +49597,17 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 53, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_bool) < (0)) __PYX_ERR(0, 53, __pyx_L1_error) - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_7is_empty, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board_is_empty, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[9])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 53, __pyx_L1_error) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_5Board_7is_empty, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board_is_empty, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[9])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 53, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); #endif __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_5); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_is_empty, __pyx_t_4) < (0)) __PYX_ERR(0, 53, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_is_empty, __pyx_t_4) < (0)) __PYX_ERR(0, 53, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":62 + /* "blokus_cython.pyx":62 * return False * * def in_bounds(self, int x, int y) -> bool: # <<<<<<<<<<<<<< @@ -48269,17 +49617,17 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 62, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_bool) < (0)) __PYX_ERR(0, 62, __pyx_L1_error) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_9in_bounds, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board_in_bounds, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[10])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 62, __pyx_L1_error) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_5Board_9in_bounds, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board_in_bounds, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[10])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 62, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_5, __pyx_t_4); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_in_bounds, __pyx_t_5) < (0)) __PYX_ERR(0, 62, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_in_bounds, __pyx_t_5) < (0)) __PYX_ERR(0, 62, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "blokus_gym/core/blokus_cython.pyx":67 + /* "blokus_cython.pyx":67 * return 0 <= x < size and 0 <= y < size * * def has_overlap(self, list squares) -> bool: # <<<<<<<<<<<<<< @@ -48289,17 +49637,17 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 67, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_bool) < (0)) __PYX_ERR(0, 67, __pyx_L1_error) - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_11has_overlap, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board_has_overlap, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[11])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 67, __pyx_L1_error) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_5Board_11has_overlap, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board_has_overlap, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[11])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 67, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); #endif __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_5); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_has_overlap, __pyx_t_4) < (0)) __PYX_ERR(0, 67, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_has_overlap, __pyx_t_4) < (0)) __PYX_ERR(0, 67, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":85 + /* "blokus_cython.pyx":85 * return 0 <= x < size and 0 <= y < size and grid_view[y, x] == 0 * * def get_cell(self, int x, int y) -> int: # <<<<<<<<<<<<<< @@ -48309,17 +49657,17 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 85, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_int) < (0)) __PYX_ERR(0, 85, __pyx_L1_error) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_13get_cell, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board_get_cell, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[12])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 85, __pyx_L1_error) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_5Board_13get_cell, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board_get_cell, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[12])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 85, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_5, __pyx_t_4); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_get_cell, __pyx_t_5) < (0)) __PYX_ERR(0, 85, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_get_cell, __pyx_t_5) < (0)) __PYX_ERR(0, 85, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "blokus_gym/core/blokus_cython.pyx":94 + /* "blokus_cython.pyx":94 * return 0 * * def get_player_squares(self, int player_idx) -> list: # <<<<<<<<<<<<<< @@ -48329,17 +49677,17 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 94, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_list) < (0)) __PYX_ERR(0, 94, __pyx_L1_error) - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_15get_player_squares, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board_get_player_squares, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[13])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 94, __pyx_L1_error) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_5Board_15get_player_squares, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board_get_player_squares, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[13])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 94, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); #endif __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_5); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_get_player_squares, __pyx_t_4) < (0)) __PYX_ERR(0, 94, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_get_player_squares, __pyx_t_4) < (0)) __PYX_ERR(0, 94, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":107 + /* "blokus_cython.pyx":107 * return result * * def get_player_occupied(self, int player_idx) -> set: # <<<<<<<<<<<<<< @@ -48349,17 +49697,17 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_set) < (0)) __PYX_ERR(0, 107, __pyx_L1_error) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_17get_player_occupied, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board_get_player_occupied, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[14])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 107, __pyx_L1_error) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_5Board_17get_player_occupied, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board_get_player_occupied, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[14])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_5, __pyx_t_4); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_get_player_occupied, __pyx_t_5) < (0)) __PYX_ERR(0, 107, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_get_player_occupied, __pyx_t_5) < (0)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "blokus_gym/core/blokus_cython.pyx":113 + /* "blokus_cython.pyx":113 * return self._occupied_cache[player_idx] * * def get_player_corners(self, int player_idx) -> set: # <<<<<<<<<<<<<< @@ -48369,17 +49717,17 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_set) < (0)) __PYX_ERR(0, 113, __pyx_L1_error) - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_19get_player_corners, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board_get_player_corners, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[15])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 113, __pyx_L1_error) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_5Board_19get_player_corners, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board_get_player_corners, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[15])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); #endif __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_5); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_get_player_corners, __pyx_t_4) < (0)) __PYX_ERR(0, 113, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_get_player_corners, __pyx_t_4) < (0)) __PYX_ERR(0, 113, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":128 + /* "blokus_cython.pyx":128 * return corners * * def get_occupied(self) -> set: # <<<<<<<<<<<<<< @@ -48389,17 +49737,17 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_set) < (0)) __PYX_ERR(0, 128, __pyx_L1_error) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_21get_occupied, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board_get_occupied, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[16])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 128, __pyx_L1_error) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_5Board_21get_occupied, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board_get_occupied, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[16])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_5, __pyx_t_4); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_get_occupied, __pyx_t_5) < (0)) __PYX_ERR(0, 128, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_get_occupied, __pyx_t_5) < (0)) __PYX_ERR(0, 128, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "blokus_gym/core/blokus_cython.pyx":141 + /* "blokus_cython.pyx":141 * return result * * def is_full(self) -> bool: # <<<<<<<<<<<<<< @@ -48409,17 +49757,17 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_bool) < (0)) __PYX_ERR(0, 141, __pyx_L1_error) - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_23is_full, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board_is_full, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[17])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 141, __pyx_L1_error) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_5Board_23is_full, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board_is_full, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[17])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); #endif __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_5); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_is_full, __pyx_t_4) < (0)) __PYX_ERR(0, 141, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_is_full, __pyx_t_4) < (0)) __PYX_ERR(0, 141, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":153 + /* "blokus_cython.pyx":153 * return True * * def coverage(self) -> float: # <<<<<<<<<<<<<< @@ -48429,14 +49777,14 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_float) < (0)) __PYX_ERR(0, 153, __pyx_L1_error) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_25coverage, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board_coverage, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[18])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 153, __pyx_L1_error) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_5Board_25coverage, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board_coverage, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[18])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_5, __pyx_t_4); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_coverage, __pyx_t_5) < (0)) __PYX_ERR(0, 153, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_coverage, __pyx_t_5) < (0)) __PYX_ERR(0, 153, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "(tree fragment)":1 @@ -48444,12 +49792,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); * cdef tuple state * cdef object _dict */ - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_27__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[19])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1, __pyx_L1_error) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_5Board_27__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[19])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_5) < (0)) __PYX_ERR(1, 1, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_5) < (0)) __PYX_ERR(1, 1, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "(tree fragment)":16 @@ -48458,12 +49806,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< * __pyx_unpickle_Board__set_state(self, __pyx_state) */ - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_5Board_29__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[20])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 16, __pyx_L1_error) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_5Board_29__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Board___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[20])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 16, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_5) < (0)) __PYX_ERR(1, 16, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_Board, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_5) < (0)) __PYX_ERR(1, 16, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "(tree fragment)":1 @@ -48471,12 +49819,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); * cdef tuple state * cdef object _dict */ - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_4Move_5__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Move___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[21])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1, __pyx_L1_error) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_4Move_5__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Move___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[21])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Move, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_5) < (0)) __PYX_ERR(1, 1, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_Move, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_5) < (0)) __PYX_ERR(1, 1, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "(tree fragment)":16 @@ -48485,12 +49833,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< * __pyx_unpickle_Move__set_state(self, __pyx_state) */ - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_4Move_7__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Move___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[22])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 16, __pyx_L1_error) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_4Move_7__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Move___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[22])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 16, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Move, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_5) < (0)) __PYX_ERR(1, 16, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_Move, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_5) < (0)) __PYX_ERR(1, 16, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "(tree fragment)":1 @@ -48498,12 +49846,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); * cdef tuple state * cdef object _dict */ - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_16PieceOrientation_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PieceOrientation___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[23])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1, __pyx_L1_error) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_16PieceOrientation_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PieceOrientation___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[23])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceOrientation, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_5) < (0)) __PYX_ERR(1, 1, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_PieceOrientation, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_5) < (0)) __PYX_ERR(1, 1, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "(tree fragment)":16 @@ -48512,12 +49860,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< * __pyx_unpickle_PieceOrientation__set_state(self, __pyx_state) */ - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_16PieceOrientation_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PieceOrientation___setstate_cyth, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[24])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 16, __pyx_L1_error) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_16PieceOrientation_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PieceOrientation___setstate_cyth, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[24])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 16, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceOrientation, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_5) < (0)) __PYX_ERR(1, 16, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_PieceOrientation, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_5) < (0)) __PYX_ERR(1, 16, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "(tree fragment)":1 @@ -48525,12 +49873,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); * cdef tuple state * cdef object _dict */ - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_5Piece_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Piece___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[25])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1, __pyx_L1_error) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_5Piece_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Piece___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[25])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_5) < (0)) __PYX_ERR(1, 1, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_5) < (0)) __PYX_ERR(1, 1, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "(tree fragment)":16 @@ -48539,15 +49887,15 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< * __pyx_unpickle_Piece__set_state(self, __pyx_state) */ - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_5Piece_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Piece___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[26])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 16, __pyx_L1_error) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_5Piece_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Piece___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[26])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 16, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_5) < (0)) __PYX_ERR(1, 16, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_5) < (0)) __PYX_ERR(1, 16, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "blokus_gym/core/blokus_cython.pyx":247 + /* "blokus_cython.pyx":247 * return len(self.pieces) * * def get_orientations(self, int piece_id) -> list: # <<<<<<<<<<<<<< @@ -48557,17 +49905,17 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_list) < (0)) __PYX_ERR(0, 247, __pyx_L1_error) - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_8PieceSet_3get_orientations, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PieceSet_get_orientations, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[27])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 247, __pyx_L1_error) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_8PieceSet_3get_orientations, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PieceSet_get_orientations, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[27])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); #endif __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_5); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceSet, __pyx_mstate_global->__pyx_n_u_get_orientations, __pyx_t_4) < (0)) __PYX_ERR(0, 247, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_PieceSet, __pyx_mstate_global->__pyx_n_u_get_orientations, __pyx_t_4) < (0)) __PYX_ERR(0, 247, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":250 + /* "blokus_cython.pyx":250 * return self.orientations[piece_id] * * def get_piece(self, int piece_id) -> Piece: # <<<<<<<<<<<<<< @@ -48577,17 +49925,17 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 250, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_Piece) < (0)) __PYX_ERR(0, 250, __pyx_L1_error) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_8PieceSet_5get_piece, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PieceSet_get_piece, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[28])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 250, __pyx_L1_error) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_8PieceSet_5get_piece, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PieceSet_get_piece, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[28])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 250, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_5, __pyx_t_4); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceSet, __pyx_mstate_global->__pyx_n_u_get_piece, __pyx_t_5) < (0)) __PYX_ERR(0, 250, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_PieceSet, __pyx_mstate_global->__pyx_n_u_get_piece, __pyx_t_5) < (0)) __PYX_ERR(0, 250, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "blokus_gym/core/blokus_cython.pyx":253 + /* "blokus_cython.pyx":253 * return self.pieces[piece_id] * * def get_piece_id(self, str name) -> int: # <<<<<<<<<<<<<< @@ -48597,14 +49945,14 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_int) < (0)) __PYX_ERR(0, 253, __pyx_L1_error) - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_8PieceSet_7get_piece_id, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PieceSet_get_piece_id, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[29])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 253, __pyx_L1_error) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_8PieceSet_7get_piece_id, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PieceSet_get_piece_id, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[29])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); #endif __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_5); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceSet, __pyx_mstate_global->__pyx_n_u_get_piece_id, __pyx_t_4) < (0)) __PYX_ERR(0, 253, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_PieceSet, __pyx_mstate_global->__pyx_n_u_get_piece_id, __pyx_t_4) < (0)) __PYX_ERR(0, 253, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "(tree fragment)":1 @@ -48612,12 +49960,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); * cdef tuple state * cdef object _dict */ - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_8PieceSet_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PieceSet___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[30])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1, __pyx_L1_error) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_8PieceSet_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PieceSet___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[30])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceSet, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(1, 1, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_PieceSet, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(1, 1, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "(tree fragment)":16 @@ -48626,15 +49974,15 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< * __pyx_unpickle_PieceSet__set_state(self, __pyx_state) */ - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_8PieceSet_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PieceSet___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[31])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16, __pyx_L1_error) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_8PieceSet_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PieceSet___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[31])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PieceSet, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(1, 16, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_PieceSet, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(1, 16, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":261 + /* "blokus_cython.pyx":261 * # ------------------------------------------------------------------- * * cdef frozenset _I1_squares = frozenset([(0, 0)]) # <<<<<<<<<<<<<< @@ -48643,12 +49991,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); */ __pyx_t_4 = __Pyx_PyFrozenSet_New(__pyx_mstate_global->__pyx_tuple[12]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_v_10blokus_gym_4core_13blokus_cython__I1_squares); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__I1_squares, ((PyObject*)__pyx_t_4)); + __Pyx_XGOTREF(__pyx_v_13blokus_cython__I1_squares); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__I1_squares, ((PyObject*)__pyx_t_4)); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":262 + /* "blokus_cython.pyx":262 * * cdef frozenset _I1_squares = frozenset([(0, 0)]) * cdef frozenset _I2_squares = frozenset([(0, 0), (0, 1)]) # <<<<<<<<<<<<<< @@ -48657,12 +50005,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); */ __pyx_t_4 = __Pyx_PyFrozenSet_New(__pyx_mstate_global->__pyx_tuple[13]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 262, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_v_10blokus_gym_4core_13blokus_cython__I2_squares); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__I2_squares, ((PyObject*)__pyx_t_4)); + __Pyx_XGOTREF(__pyx_v_13blokus_cython__I2_squares); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__I2_squares, ((PyObject*)__pyx_t_4)); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":263 + /* "blokus_cython.pyx":263 * cdef frozenset _I1_squares = frozenset([(0, 0)]) * cdef frozenset _I2_squares = frozenset([(0, 0), (0, 1)]) * cdef frozenset _I3_squares = frozenset([(0, 0), (0, 1), (0, 2)]) # <<<<<<<<<<<<<< @@ -48671,12 +50019,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); */ __pyx_t_4 = __Pyx_PyFrozenSet_New(__pyx_mstate_global->__pyx_tuple[15]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_v_10blokus_gym_4core_13blokus_cython__I3_squares); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__I3_squares, ((PyObject*)__pyx_t_4)); + __Pyx_XGOTREF(__pyx_v_13blokus_cython__I3_squares); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__I3_squares, ((PyObject*)__pyx_t_4)); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":264 + /* "blokus_cython.pyx":264 * cdef frozenset _I2_squares = frozenset([(0, 0), (0, 1)]) * cdef frozenset _I3_squares = frozenset([(0, 0), (0, 1), (0, 2)]) * cdef frozenset _V3_squares = frozenset([(0, 0), (1, 0), (0, 1)]) # <<<<<<<<<<<<<< @@ -48685,12 +50033,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); */ __pyx_t_4 = __Pyx_PyFrozenSet_New(__pyx_mstate_global->__pyx_tuple[16]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_v_10blokus_gym_4core_13blokus_cython__V3_squares); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__V3_squares, ((PyObject*)__pyx_t_4)); + __Pyx_XGOTREF(__pyx_v_13blokus_cython__V3_squares); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__V3_squares, ((PyObject*)__pyx_t_4)); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":265 + /* "blokus_cython.pyx":265 * cdef frozenset _I3_squares = frozenset([(0, 0), (0, 1), (0, 2)]) * cdef frozenset _V3_squares = frozenset([(0, 0), (1, 0), (0, 1)]) * cdef frozenset _I4_squares = frozenset([(0, 0), (0, 1), (0, 2), (0, 3)]) # <<<<<<<<<<<<<< @@ -48699,12 +50047,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); */ __pyx_t_4 = __Pyx_PyFrozenSet_New(__pyx_mstate_global->__pyx_tuple[18]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_v_10blokus_gym_4core_13blokus_cython__I4_squares); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__I4_squares, ((PyObject*)__pyx_t_4)); + __Pyx_XGOTREF(__pyx_v_13blokus_cython__I4_squares); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__I4_squares, ((PyObject*)__pyx_t_4)); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":266 + /* "blokus_cython.pyx":266 * cdef frozenset _V3_squares = frozenset([(0, 0), (1, 0), (0, 1)]) * cdef frozenset _I4_squares = frozenset([(0, 0), (0, 1), (0, 2), (0, 3)]) * cdef frozenset _L4_squares = frozenset([(0, 0), (0, 1), (0, 2), (1, 0)]) # <<<<<<<<<<<<<< @@ -48713,12 +50061,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); */ __pyx_t_4 = __Pyx_PyFrozenSet_New(__pyx_mstate_global->__pyx_tuple[19]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_v_10blokus_gym_4core_13blokus_cython__L4_squares); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__L4_squares, ((PyObject*)__pyx_t_4)); + __Pyx_XGOTREF(__pyx_v_13blokus_cython__L4_squares); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__L4_squares, ((PyObject*)__pyx_t_4)); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":267 + /* "blokus_cython.pyx":267 * cdef frozenset _I4_squares = frozenset([(0, 0), (0, 1), (0, 2), (0, 3)]) * cdef frozenset _L4_squares = frozenset([(0, 0), (0, 1), (0, 2), (1, 0)]) * cdef frozenset _T4_squares = frozenset([(0, 0), (1, 0), (2, 0), (1, 1)]) # <<<<<<<<<<<<<< @@ -48727,12 +50075,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); */ __pyx_t_4 = __Pyx_PyFrozenSet_New(__pyx_mstate_global->__pyx_tuple[21]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_v_10blokus_gym_4core_13blokus_cython__T4_squares); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__T4_squares, ((PyObject*)__pyx_t_4)); + __Pyx_XGOTREF(__pyx_v_13blokus_cython__T4_squares); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__T4_squares, ((PyObject*)__pyx_t_4)); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":268 + /* "blokus_cython.pyx":268 * cdef frozenset _L4_squares = frozenset([(0, 0), (0, 1), (0, 2), (1, 0)]) * cdef frozenset _T4_squares = frozenset([(0, 0), (1, 0), (2, 0), (1, 1)]) * cdef frozenset _S4_squares = frozenset([(0, 0), (1, 0), (1, 1), (2, 1)]) # <<<<<<<<<<<<<< @@ -48741,12 +50089,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); */ __pyx_t_4 = __Pyx_PyFrozenSet_New(__pyx_mstate_global->__pyx_tuple[23]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_v_10blokus_gym_4core_13blokus_cython__S4_squares); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__S4_squares, ((PyObject*)__pyx_t_4)); + __Pyx_XGOTREF(__pyx_v_13blokus_cython__S4_squares); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__S4_squares, ((PyObject*)__pyx_t_4)); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":269 + /* "blokus_cython.pyx":269 * cdef frozenset _T4_squares = frozenset([(0, 0), (1, 0), (2, 0), (1, 1)]) * cdef frozenset _S4_squares = frozenset([(0, 0), (1, 0), (1, 1), (2, 1)]) * cdef frozenset _O4_squares = frozenset([(0, 0), (1, 0), (0, 1), (1, 1)]) # <<<<<<<<<<<<<< @@ -48755,12 +50103,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); */ __pyx_t_4 = __Pyx_PyFrozenSet_New(__pyx_mstate_global->__pyx_tuple[24]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_v_10blokus_gym_4core_13blokus_cython__O4_squares); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__O4_squares, ((PyObject*)__pyx_t_4)); + __Pyx_XGOTREF(__pyx_v_13blokus_cython__O4_squares); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__O4_squares, ((PyObject*)__pyx_t_4)); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":270 + /* "blokus_cython.pyx":270 * cdef frozenset _S4_squares = frozenset([(0, 0), (1, 0), (1, 1), (2, 1)]) * cdef frozenset _O4_squares = frozenset([(0, 0), (1, 0), (0, 1), (1, 1)]) * cdef frozenset _I5_squares = frozenset([(0, 0), (0, 1), (0, 2), (0, 3), (0, 4)]) # <<<<<<<<<<<<<< @@ -48769,12 +50117,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); */ __pyx_t_4 = __Pyx_PyFrozenSet_New(__pyx_mstate_global->__pyx_tuple[26]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 270, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_v_10blokus_gym_4core_13blokus_cython__I5_squares); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__I5_squares, ((PyObject*)__pyx_t_4)); + __Pyx_XGOTREF(__pyx_v_13blokus_cython__I5_squares); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__I5_squares, ((PyObject*)__pyx_t_4)); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":271 + /* "blokus_cython.pyx":271 * cdef frozenset _O4_squares = frozenset([(0, 0), (1, 0), (0, 1), (1, 1)]) * cdef frozenset _I5_squares = frozenset([(0, 0), (0, 1), (0, 2), (0, 3), (0, 4)]) * cdef frozenset _L5_squares = frozenset([(0, 0), (0, 1), (0, 2), (0, 3), (1, 0)]) # <<<<<<<<<<<<<< @@ -48783,12 +50131,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); */ __pyx_t_4 = __Pyx_PyFrozenSet_New(__pyx_mstate_global->__pyx_tuple[27]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_v_10blokus_gym_4core_13blokus_cython__L5_squares); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__L5_squares, ((PyObject*)__pyx_t_4)); + __Pyx_XGOTREF(__pyx_v_13blokus_cython__L5_squares); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__L5_squares, ((PyObject*)__pyx_t_4)); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":272 + /* "blokus_cython.pyx":272 * cdef frozenset _I5_squares = frozenset([(0, 0), (0, 1), (0, 2), (0, 3), (0, 4)]) * cdef frozenset _L5_squares = frozenset([(0, 0), (0, 1), (0, 2), (0, 3), (1, 0)]) * cdef frozenset _Y5_squares = frozenset([(0, 0), (0, 1), (0, 2), (0, 3), (1, 1)]) # <<<<<<<<<<<<<< @@ -48797,12 +50145,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); */ __pyx_t_4 = __Pyx_PyFrozenSet_New(__pyx_mstate_global->__pyx_tuple[28]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 272, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_v_10blokus_gym_4core_13blokus_cython__Y5_squares); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__Y5_squares, ((PyObject*)__pyx_t_4)); + __Pyx_XGOTREF(__pyx_v_13blokus_cython__Y5_squares); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__Y5_squares, ((PyObject*)__pyx_t_4)); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":273 + /* "blokus_cython.pyx":273 * cdef frozenset _L5_squares = frozenset([(0, 0), (0, 1), (0, 2), (0, 3), (1, 0)]) * cdef frozenset _Y5_squares = frozenset([(0, 0), (0, 1), (0, 2), (0, 3), (1, 1)]) * cdef frozenset _N5_squares = frozenset([(0, 0), (1, 0), (2, 0), (2, 1), (3, 1)]) # <<<<<<<<<<<<<< @@ -48811,12 +50159,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); */ __pyx_t_4 = __Pyx_PyFrozenSet_New(__pyx_mstate_global->__pyx_tuple[30]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_v_10blokus_gym_4core_13blokus_cython__N5_squares); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__N5_squares, ((PyObject*)__pyx_t_4)); + __Pyx_XGOTREF(__pyx_v_13blokus_cython__N5_squares); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__N5_squares, ((PyObject*)__pyx_t_4)); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":274 + /* "blokus_cython.pyx":274 * cdef frozenset _Y5_squares = frozenset([(0, 0), (0, 1), (0, 2), (0, 3), (1, 1)]) * cdef frozenset _N5_squares = frozenset([(0, 0), (1, 0), (2, 0), (2, 1), (3, 1)]) * cdef frozenset _T5_squares = frozenset([(0, 0), (1, 0), (2, 0), (1, 1), (1, 2)]) # <<<<<<<<<<<<<< @@ -48825,12 +50173,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); */ __pyx_t_4 = __Pyx_PyFrozenSet_New(__pyx_mstate_global->__pyx_tuple[32]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_v_10blokus_gym_4core_13blokus_cython__T5_squares); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__T5_squares, ((PyObject*)__pyx_t_4)); + __Pyx_XGOTREF(__pyx_v_13blokus_cython__T5_squares); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__T5_squares, ((PyObject*)__pyx_t_4)); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":275 + /* "blokus_cython.pyx":275 * cdef frozenset _N5_squares = frozenset([(0, 0), (1, 0), (2, 0), (2, 1), (3, 1)]) * cdef frozenset _T5_squares = frozenset([(0, 0), (1, 0), (2, 0), (1, 1), (1, 2)]) * cdef frozenset _U5_squares = frozenset([(0, 0), (2, 0), (0, 1), (1, 1), (2, 1)]) # <<<<<<<<<<<<<< @@ -48839,12 +50187,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); */ __pyx_t_4 = __Pyx_PyFrozenSet_New(__pyx_mstate_global->__pyx_tuple[33]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_v_10blokus_gym_4core_13blokus_cython__U5_squares); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__U5_squares, ((PyObject*)__pyx_t_4)); + __Pyx_XGOTREF(__pyx_v_13blokus_cython__U5_squares); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__U5_squares, ((PyObject*)__pyx_t_4)); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":276 + /* "blokus_cython.pyx":276 * cdef frozenset _T5_squares = frozenset([(0, 0), (1, 0), (2, 0), (1, 1), (1, 2)]) * cdef frozenset _U5_squares = frozenset([(0, 0), (2, 0), (0, 1), (1, 1), (2, 1)]) * cdef frozenset _V5_squares = frozenset([(0, 0), (0, 1), (0, 2), (1, 0), (2, 0)]) # <<<<<<<<<<<<<< @@ -48853,12 +50201,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); */ __pyx_t_4 = __Pyx_PyFrozenSet_New(__pyx_mstate_global->__pyx_tuple[34]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_v_10blokus_gym_4core_13blokus_cython__V5_squares); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__V5_squares, ((PyObject*)__pyx_t_4)); + __Pyx_XGOTREF(__pyx_v_13blokus_cython__V5_squares); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__V5_squares, ((PyObject*)__pyx_t_4)); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":277 + /* "blokus_cython.pyx":277 * cdef frozenset _U5_squares = frozenset([(0, 0), (2, 0), (0, 1), (1, 1), (2, 1)]) * cdef frozenset _V5_squares = frozenset([(0, 0), (0, 1), (0, 2), (1, 0), (2, 0)]) * cdef frozenset _W5_squares = frozenset([(0, 0), (0, 1), (1, 0), (1, 1), (2, 0)]) # <<<<<<<<<<<<<< @@ -48867,12 +50215,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); */ __pyx_t_4 = __Pyx_PyFrozenSet_New(__pyx_mstate_global->__pyx_tuple[35]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_v_10blokus_gym_4core_13blokus_cython__W5_squares); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__W5_squares, ((PyObject*)__pyx_t_4)); + __Pyx_XGOTREF(__pyx_v_13blokus_cython__W5_squares); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__W5_squares, ((PyObject*)__pyx_t_4)); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":278 + /* "blokus_cython.pyx":278 * cdef frozenset _V5_squares = frozenset([(0, 0), (0, 1), (0, 2), (1, 0), (2, 0)]) * cdef frozenset _W5_squares = frozenset([(0, 0), (0, 1), (1, 0), (1, 1), (2, 0)]) * cdef frozenset _Z5_squares = frozenset([(0, 0), (1, 0), (1, 1), (1, 2), (2, 2)]) # <<<<<<<<<<<<<< @@ -48881,12 +50229,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); */ __pyx_t_4 = __Pyx_PyFrozenSet_New(__pyx_mstate_global->__pyx_tuple[37]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_v_10blokus_gym_4core_13blokus_cython__Z5_squares); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__Z5_squares, ((PyObject*)__pyx_t_4)); + __Pyx_XGOTREF(__pyx_v_13blokus_cython__Z5_squares); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__Z5_squares, ((PyObject*)__pyx_t_4)); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":279 + /* "blokus_cython.pyx":279 * cdef frozenset _W5_squares = frozenset([(0, 0), (0, 1), (1, 0), (1, 1), (2, 0)]) * cdef frozenset _Z5_squares = frozenset([(0, 0), (1, 0), (1, 1), (1, 2), (2, 2)]) * cdef frozenset _F5_squares = frozenset([(0, 0), (1, 0), (1, 1), (2, 1), (1, 2)]) # <<<<<<<<<<<<<< @@ -48895,12 +50243,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); */ __pyx_t_4 = __Pyx_PyFrozenSet_New(__pyx_mstate_global->__pyx_tuple[38]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 279, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_v_10blokus_gym_4core_13blokus_cython__F5_squares); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__F5_squares, ((PyObject*)__pyx_t_4)); + __Pyx_XGOTREF(__pyx_v_13blokus_cython__F5_squares); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__F5_squares, ((PyObject*)__pyx_t_4)); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":280 + /* "blokus_cython.pyx":280 * cdef frozenset _Z5_squares = frozenset([(0, 0), (1, 0), (1, 1), (1, 2), (2, 2)]) * cdef frozenset _F5_squares = frozenset([(0, 0), (1, 0), (1, 1), (2, 1), (1, 2)]) * cdef frozenset _X5_squares = frozenset([(0, 0), (1, 0), (2, 0), (1, 1), (1, -1)]) # <<<<<<<<<<<<<< @@ -48909,12 +50257,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); */ __pyx_t_4 = __Pyx_PyFrozenSet_New(__pyx_mstate_global->__pyx_tuple[39]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 280, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_v_10blokus_gym_4core_13blokus_cython__X5_squares); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__X5_squares, ((PyObject*)__pyx_t_4)); + __Pyx_XGOTREF(__pyx_v_13blokus_cython__X5_squares); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__X5_squares, ((PyObject*)__pyx_t_4)); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":281 + /* "blokus_cython.pyx":281 * cdef frozenset _F5_squares = frozenset([(0, 0), (1, 0), (1, 1), (2, 1), (1, 2)]) * cdef frozenset _X5_squares = frozenset([(0, 0), (1, 0), (2, 0), (1, 1), (1, -1)]) * cdef frozenset _P5_squares = frozenset([(0, 0), (1, 0), (0, 1), (1, 1), (0, 2)]) # <<<<<<<<<<<<<< @@ -48923,12 +50271,12 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); */ __pyx_t_4 = __Pyx_PyFrozenSet_New(__pyx_mstate_global->__pyx_tuple[40]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_v_10blokus_gym_4core_13blokus_cython__P5_squares); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__P5_squares, ((PyObject*)__pyx_t_4)); + __Pyx_XGOTREF(__pyx_v_13blokus_cython__P5_squares); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__P5_squares, ((PyObject*)__pyx_t_4)); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":283 + /* "blokus_cython.pyx":283 * cdef frozenset _P5_squares = frozenset([(0, 0), (1, 0), (0, 1), (1, 1), (0, 2)]) * * cdef Piece _I1 = Piece("I1", _I1_squares) # <<<<<<<<<<<<<< @@ -48938,18 +50286,18 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = NULL; __pyx_t_6 = 1; { - PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_I1, __pyx_v_10blokus_gym_4core_13blokus_cython__I1_squares}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_I1, __pyx_v_13blokus_cython__I1_squares}; + __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 283, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_4); } - __Pyx_XGOTREF((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__I1); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__I1, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_t_4)); + __Pyx_XGOTREF((PyObject *)__pyx_v_13blokus_cython__I1); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__I1, ((struct __pyx_obj_13blokus_cython_Piece *)__pyx_t_4)); __Pyx_GIVEREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":284 + /* "blokus_cython.pyx":284 * * cdef Piece _I1 = Piece("I1", _I1_squares) * cdef Piece _I2 = Piece("I2", _I2_squares) # <<<<<<<<<<<<<< @@ -48959,18 +50307,18 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = NULL; __pyx_t_6 = 1; { - PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_I2, __pyx_v_10blokus_gym_4core_13blokus_cython__I2_squares}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_I2, __pyx_v_13blokus_cython__I2_squares}; + __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 284, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_4); } - __Pyx_XGOTREF((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__I2); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__I2, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_t_4)); + __Pyx_XGOTREF((PyObject *)__pyx_v_13blokus_cython__I2); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__I2, ((struct __pyx_obj_13blokus_cython_Piece *)__pyx_t_4)); __Pyx_GIVEREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":285 + /* "blokus_cython.pyx":285 * cdef Piece _I1 = Piece("I1", _I1_squares) * cdef Piece _I2 = Piece("I2", _I2_squares) * cdef Piece _I3 = Piece("I3", _I3_squares) # <<<<<<<<<<<<<< @@ -48980,18 +50328,18 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = NULL; __pyx_t_6 = 1; { - PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_I3, __pyx_v_10blokus_gym_4core_13blokus_cython__I3_squares}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_I3, __pyx_v_13blokus_cython__I3_squares}; + __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 285, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_4); } - __Pyx_XGOTREF((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__I3); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__I3, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_t_4)); + __Pyx_XGOTREF((PyObject *)__pyx_v_13blokus_cython__I3); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__I3, ((struct __pyx_obj_13blokus_cython_Piece *)__pyx_t_4)); __Pyx_GIVEREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":286 + /* "blokus_cython.pyx":286 * cdef Piece _I2 = Piece("I2", _I2_squares) * cdef Piece _I3 = Piece("I3", _I3_squares) * cdef Piece _V3 = Piece("V3", _V3_squares) # <<<<<<<<<<<<<< @@ -49001,18 +50349,18 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = NULL; __pyx_t_6 = 1; { - PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_V3, __pyx_v_10blokus_gym_4core_13blokus_cython__V3_squares}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_V3, __pyx_v_13blokus_cython__V3_squares}; + __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 286, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_4); } - __Pyx_XGOTREF((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__V3); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__V3, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_t_4)); + __Pyx_XGOTREF((PyObject *)__pyx_v_13blokus_cython__V3); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__V3, ((struct __pyx_obj_13blokus_cython_Piece *)__pyx_t_4)); __Pyx_GIVEREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":287 + /* "blokus_cython.pyx":287 * cdef Piece _I3 = Piece("I3", _I3_squares) * cdef Piece _V3 = Piece("V3", _V3_squares) * cdef Piece _I4 = Piece("I4", _I4_squares) # <<<<<<<<<<<<<< @@ -49022,18 +50370,18 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = NULL; __pyx_t_6 = 1; { - PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_I4, __pyx_v_10blokus_gym_4core_13blokus_cython__I4_squares}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_I4, __pyx_v_13blokus_cython__I4_squares}; + __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 287, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_4); } - __Pyx_XGOTREF((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__I4); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__I4, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_t_4)); + __Pyx_XGOTREF((PyObject *)__pyx_v_13blokus_cython__I4); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__I4, ((struct __pyx_obj_13blokus_cython_Piece *)__pyx_t_4)); __Pyx_GIVEREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":288 + /* "blokus_cython.pyx":288 * cdef Piece _V3 = Piece("V3", _V3_squares) * cdef Piece _I4 = Piece("I4", _I4_squares) * cdef Piece _L4 = Piece("L4", _L4_squares) # <<<<<<<<<<<<<< @@ -49043,18 +50391,18 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = NULL; __pyx_t_6 = 1; { - PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_L4, __pyx_v_10blokus_gym_4core_13blokus_cython__L4_squares}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_L4, __pyx_v_13blokus_cython__L4_squares}; + __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 288, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_4); } - __Pyx_XGOTREF((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__L4); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__L4, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_t_4)); + __Pyx_XGOTREF((PyObject *)__pyx_v_13blokus_cython__L4); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__L4, ((struct __pyx_obj_13blokus_cython_Piece *)__pyx_t_4)); __Pyx_GIVEREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":289 + /* "blokus_cython.pyx":289 * cdef Piece _I4 = Piece("I4", _I4_squares) * cdef Piece _L4 = Piece("L4", _L4_squares) * cdef Piece _T4 = Piece("T4", _T4_squares) # <<<<<<<<<<<<<< @@ -49064,18 +50412,18 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = NULL; __pyx_t_6 = 1; { - PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_T4, __pyx_v_10blokus_gym_4core_13blokus_cython__T4_squares}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_T4, __pyx_v_13blokus_cython__T4_squares}; + __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 289, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_4); } - __Pyx_XGOTREF((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__T4); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__T4, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_t_4)); + __Pyx_XGOTREF((PyObject *)__pyx_v_13blokus_cython__T4); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__T4, ((struct __pyx_obj_13blokus_cython_Piece *)__pyx_t_4)); __Pyx_GIVEREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":290 + /* "blokus_cython.pyx":290 * cdef Piece _L4 = Piece("L4", _L4_squares) * cdef Piece _T4 = Piece("T4", _T4_squares) * cdef Piece _S4 = Piece("S4", _S4_squares) # <<<<<<<<<<<<<< @@ -49085,18 +50433,18 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = NULL; __pyx_t_6 = 1; { - PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_S4, __pyx_v_10blokus_gym_4core_13blokus_cython__S4_squares}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_S4, __pyx_v_13blokus_cython__S4_squares}; + __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 290, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_4); } - __Pyx_XGOTREF((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__S4); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__S4, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_t_4)); + __Pyx_XGOTREF((PyObject *)__pyx_v_13blokus_cython__S4); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__S4, ((struct __pyx_obj_13blokus_cython_Piece *)__pyx_t_4)); __Pyx_GIVEREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":291 + /* "blokus_cython.pyx":291 * cdef Piece _T4 = Piece("T4", _T4_squares) * cdef Piece _S4 = Piece("S4", _S4_squares) * cdef Piece _O4 = Piece("O4", _O4_squares) # <<<<<<<<<<<<<< @@ -49106,18 +50454,18 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = NULL; __pyx_t_6 = 1; { - PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_O4, __pyx_v_10blokus_gym_4core_13blokus_cython__O4_squares}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_O4, __pyx_v_13blokus_cython__O4_squares}; + __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 291, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_4); } - __Pyx_XGOTREF((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__O4); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__O4, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_t_4)); + __Pyx_XGOTREF((PyObject *)__pyx_v_13blokus_cython__O4); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__O4, ((struct __pyx_obj_13blokus_cython_Piece *)__pyx_t_4)); __Pyx_GIVEREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":292 + /* "blokus_cython.pyx":292 * cdef Piece _S4 = Piece("S4", _S4_squares) * cdef Piece _O4 = Piece("O4", _O4_squares) * cdef Piece _I5 = Piece("I5", _I5_squares) # <<<<<<<<<<<<<< @@ -49127,18 +50475,18 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = NULL; __pyx_t_6 = 1; { - PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_I5, __pyx_v_10blokus_gym_4core_13blokus_cython__I5_squares}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_I5, __pyx_v_13blokus_cython__I5_squares}; + __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 292, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_4); } - __Pyx_XGOTREF((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__I5); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__I5, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_t_4)); + __Pyx_XGOTREF((PyObject *)__pyx_v_13blokus_cython__I5); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__I5, ((struct __pyx_obj_13blokus_cython_Piece *)__pyx_t_4)); __Pyx_GIVEREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":293 + /* "blokus_cython.pyx":293 * cdef Piece _O4 = Piece("O4", _O4_squares) * cdef Piece _I5 = Piece("I5", _I5_squares) * cdef Piece _L5 = Piece("L5", _L5_squares) # <<<<<<<<<<<<<< @@ -49148,18 +50496,18 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = NULL; __pyx_t_6 = 1; { - PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_L5, __pyx_v_10blokus_gym_4core_13blokus_cython__L5_squares}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_L5, __pyx_v_13blokus_cython__L5_squares}; + __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 293, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_4); } - __Pyx_XGOTREF((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__L5); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__L5, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_t_4)); + __Pyx_XGOTREF((PyObject *)__pyx_v_13blokus_cython__L5); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__L5, ((struct __pyx_obj_13blokus_cython_Piece *)__pyx_t_4)); __Pyx_GIVEREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":294 + /* "blokus_cython.pyx":294 * cdef Piece _I5 = Piece("I5", _I5_squares) * cdef Piece _L5 = Piece("L5", _L5_squares) * cdef Piece _Y5 = Piece("Y5", _Y5_squares) # <<<<<<<<<<<<<< @@ -49169,18 +50517,18 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = NULL; __pyx_t_6 = 1; { - PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_Y5, __pyx_v_10blokus_gym_4core_13blokus_cython__Y5_squares}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_Y5, __pyx_v_13blokus_cython__Y5_squares}; + __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 294, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_4); } - __Pyx_XGOTREF((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__Y5); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__Y5, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_t_4)); + __Pyx_XGOTREF((PyObject *)__pyx_v_13blokus_cython__Y5); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__Y5, ((struct __pyx_obj_13blokus_cython_Piece *)__pyx_t_4)); __Pyx_GIVEREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":295 + /* "blokus_cython.pyx":295 * cdef Piece _L5 = Piece("L5", _L5_squares) * cdef Piece _Y5 = Piece("Y5", _Y5_squares) * cdef Piece _N5 = Piece("N5", _N5_squares) # <<<<<<<<<<<<<< @@ -49190,18 +50538,18 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = NULL; __pyx_t_6 = 1; { - PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_N5, __pyx_v_10blokus_gym_4core_13blokus_cython__N5_squares}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_N5, __pyx_v_13blokus_cython__N5_squares}; + __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_4); } - __Pyx_XGOTREF((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__N5); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__N5, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_t_4)); + __Pyx_XGOTREF((PyObject *)__pyx_v_13blokus_cython__N5); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__N5, ((struct __pyx_obj_13blokus_cython_Piece *)__pyx_t_4)); __Pyx_GIVEREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":296 + /* "blokus_cython.pyx":296 * cdef Piece _Y5 = Piece("Y5", _Y5_squares) * cdef Piece _N5 = Piece("N5", _N5_squares) * cdef Piece _T5 = Piece("T5", _T5_squares) # <<<<<<<<<<<<<< @@ -49211,18 +50559,18 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = NULL; __pyx_t_6 = 1; { - PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_T5, __pyx_v_10blokus_gym_4core_13blokus_cython__T5_squares}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_T5, __pyx_v_13blokus_cython__T5_squares}; + __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_4); } - __Pyx_XGOTREF((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__T5); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__T5, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_t_4)); + __Pyx_XGOTREF((PyObject *)__pyx_v_13blokus_cython__T5); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__T5, ((struct __pyx_obj_13blokus_cython_Piece *)__pyx_t_4)); __Pyx_GIVEREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":297 + /* "blokus_cython.pyx":297 * cdef Piece _N5 = Piece("N5", _N5_squares) * cdef Piece _T5 = Piece("T5", _T5_squares) * cdef Piece _U5 = Piece("U5", _U5_squares) # <<<<<<<<<<<<<< @@ -49232,18 +50580,18 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = NULL; __pyx_t_6 = 1; { - PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_U5, __pyx_v_10blokus_gym_4core_13blokus_cython__U5_squares}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_U5, __pyx_v_13blokus_cython__U5_squares}; + __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 297, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_4); } - __Pyx_XGOTREF((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__U5); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__U5, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_t_4)); + __Pyx_XGOTREF((PyObject *)__pyx_v_13blokus_cython__U5); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__U5, ((struct __pyx_obj_13blokus_cython_Piece *)__pyx_t_4)); __Pyx_GIVEREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":298 + /* "blokus_cython.pyx":298 * cdef Piece _T5 = Piece("T5", _T5_squares) * cdef Piece _U5 = Piece("U5", _U5_squares) * cdef Piece _V5 = Piece("V5", _V5_squares) # <<<<<<<<<<<<<< @@ -49253,18 +50601,18 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = NULL; __pyx_t_6 = 1; { - PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_V5, __pyx_v_10blokus_gym_4core_13blokus_cython__V5_squares}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_V5, __pyx_v_13blokus_cython__V5_squares}; + __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 298, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_4); } - __Pyx_XGOTREF((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__V5); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__V5, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_t_4)); + __Pyx_XGOTREF((PyObject *)__pyx_v_13blokus_cython__V5); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__V5, ((struct __pyx_obj_13blokus_cython_Piece *)__pyx_t_4)); __Pyx_GIVEREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":299 + /* "blokus_cython.pyx":299 * cdef Piece _U5 = Piece("U5", _U5_squares) * cdef Piece _V5 = Piece("V5", _V5_squares) * cdef Piece _W5 = Piece("W5", _W5_squares) # <<<<<<<<<<<<<< @@ -49274,18 +50622,18 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = NULL; __pyx_t_6 = 1; { - PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_W5, __pyx_v_10blokus_gym_4core_13blokus_cython__W5_squares}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_W5, __pyx_v_13blokus_cython__W5_squares}; + __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 299, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_4); } - __Pyx_XGOTREF((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__W5); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__W5, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_t_4)); + __Pyx_XGOTREF((PyObject *)__pyx_v_13blokus_cython__W5); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__W5, ((struct __pyx_obj_13blokus_cython_Piece *)__pyx_t_4)); __Pyx_GIVEREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":300 + /* "blokus_cython.pyx":300 * cdef Piece _V5 = Piece("V5", _V5_squares) * cdef Piece _W5 = Piece("W5", _W5_squares) * cdef Piece _Z5 = Piece("Z5", _Z5_squares) # <<<<<<<<<<<<<< @@ -49295,18 +50643,18 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = NULL; __pyx_t_6 = 1; { - PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_Z5, __pyx_v_10blokus_gym_4core_13blokus_cython__Z5_squares}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_Z5, __pyx_v_13blokus_cython__Z5_squares}; + __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 300, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_4); } - __Pyx_XGOTREF((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__Z5); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__Z5, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_t_4)); + __Pyx_XGOTREF((PyObject *)__pyx_v_13blokus_cython__Z5); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__Z5, ((struct __pyx_obj_13blokus_cython_Piece *)__pyx_t_4)); __Pyx_GIVEREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":301 + /* "blokus_cython.pyx":301 * cdef Piece _W5 = Piece("W5", _W5_squares) * cdef Piece _Z5 = Piece("Z5", _Z5_squares) * cdef Piece _F5 = Piece("F5", _F5_squares) # <<<<<<<<<<<<<< @@ -49316,18 +50664,18 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = NULL; __pyx_t_6 = 1; { - PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_F5, __pyx_v_10blokus_gym_4core_13blokus_cython__F5_squares}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_F5, __pyx_v_13blokus_cython__F5_squares}; + __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 301, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_4); } - __Pyx_XGOTREF((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__F5); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__F5, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_t_4)); + __Pyx_XGOTREF((PyObject *)__pyx_v_13blokus_cython__F5); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__F5, ((struct __pyx_obj_13blokus_cython_Piece *)__pyx_t_4)); __Pyx_GIVEREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":302 + /* "blokus_cython.pyx":302 * cdef Piece _Z5 = Piece("Z5", _Z5_squares) * cdef Piece _F5 = Piece("F5", _F5_squares) * cdef Piece _X5 = Piece("X5", _X5_squares) # <<<<<<<<<<<<<< @@ -49337,18 +50685,18 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = NULL; __pyx_t_6 = 1; { - PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_X5, __pyx_v_10blokus_gym_4core_13blokus_cython__X5_squares}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_X5, __pyx_v_13blokus_cython__X5_squares}; + __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 302, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_4); } - __Pyx_XGOTREF((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__X5); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__X5, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_t_4)); + __Pyx_XGOTREF((PyObject *)__pyx_v_13blokus_cython__X5); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__X5, ((struct __pyx_obj_13blokus_cython_Piece *)__pyx_t_4)); __Pyx_GIVEREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":303 + /* "blokus_cython.pyx":303 * cdef Piece _F5 = Piece("F5", _F5_squares) * cdef Piece _X5 = Piece("X5", _X5_squares) * cdef Piece _P5 = Piece("P5", _P5_squares) # <<<<<<<<<<<<<< @@ -49358,42 +50706,57 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __pyx_t_5 = NULL; __pyx_t_6 = 1; { - PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_P5, __pyx_v_10blokus_gym_4core_13blokus_cython__P5_squares}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); + PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_P5, __pyx_v_13blokus_cython__P5_squares}; + __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_13blokus_cython_Piece, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 303, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_4); } - __Pyx_XGOTREF((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__P5); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython__P5, ((struct __pyx_obj_10blokus_gym_4core_13blokus_cython_Piece *)__pyx_t_4)); + __Pyx_XGOTREF((PyObject *)__pyx_v_13blokus_cython__P5); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython__P5, ((struct __pyx_obj_13blokus_cython_Piece *)__pyx_t_4)); __Pyx_GIVEREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":305 + /* "blokus_cython.pyx":305 * cdef Piece _P5 = Piece("P5", _P5_squares) * * cdef list STANDARD_PIECES = [ # <<<<<<<<<<<<<< * _I1, _I2, _I3, _V3, _I4, _L4, _T4, _S4, _O4, * _I5, _L5, _Y5, _N5, _T5, _U5, _V5, _W5, _Z5, _F5, _X5, _P5 */ - __pyx_t_4 = __Pyx_PyList_Pack(21, ((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__I1), ((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__I2), ((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__I3), ((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__V3), ((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__I4), ((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__L4), ((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__T4), ((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__S4), ((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__O4), ((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__I5), ((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__L5), ((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__Y5), ((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__N5), ((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__T5), ((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__U5), ((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__V5), ((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__W5), ((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__Z5), ((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__F5), ((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__X5), ((PyObject *)__pyx_v_10blokus_gym_4core_13blokus_cython__P5)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 305, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyList_Pack(21, ((PyObject *)__pyx_v_13blokus_cython__I1), ((PyObject *)__pyx_v_13blokus_cython__I2), ((PyObject *)__pyx_v_13blokus_cython__I3), ((PyObject *)__pyx_v_13blokus_cython__V3), ((PyObject *)__pyx_v_13blokus_cython__I4), ((PyObject *)__pyx_v_13blokus_cython__L4), ((PyObject *)__pyx_v_13blokus_cython__T4), ((PyObject *)__pyx_v_13blokus_cython__S4), ((PyObject *)__pyx_v_13blokus_cython__O4), ((PyObject *)__pyx_v_13blokus_cython__I5), ((PyObject *)__pyx_v_13blokus_cython__L5), ((PyObject *)__pyx_v_13blokus_cython__Y5), ((PyObject *)__pyx_v_13blokus_cython__N5), ((PyObject *)__pyx_v_13blokus_cython__T5), ((PyObject *)__pyx_v_13blokus_cython__U5), ((PyObject *)__pyx_v_13blokus_cython__V5), ((PyObject *)__pyx_v_13blokus_cython__W5), ((PyObject *)__pyx_v_13blokus_cython__Z5), ((PyObject *)__pyx_v_13blokus_cython__F5), ((PyObject *)__pyx_v_13blokus_cython__X5), ((PyObject *)__pyx_v_13blokus_cython__P5)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_v_10blokus_gym_4core_13blokus_cython_STANDARD_PIECES); - __Pyx_DECREF_SET(__pyx_v_10blokus_gym_4core_13blokus_cython_STANDARD_PIECES, ((PyObject*)__pyx_t_4)); + __Pyx_XGOTREF(__pyx_v_13blokus_cython_STANDARD_PIECES); + __Pyx_DECREF_SET(__pyx_v_13blokus_cython_STANDARD_PIECES, ((PyObject*)__pyx_t_4)); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; + /* "blokus_cython.pyx":311 + * + * + * def get_standard_pieces(): # <<<<<<<<<<<<<< + * """Python-accessible function to get the standard piece set.""" + * return list(STANDARD_PIECES) +*/ + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_1get_standard_pieces, 0, __pyx_mstate_global->__pyx_n_u_get_standard_pieces, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[32])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 311, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 + PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); + #endif + if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_get_standard_pieces, __pyx_t_4) < (0)) __PYX_ERR(0, 311, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + /* "(tree fragment)":1 * def __reduce_cython__(self): # <<<<<<<<<<<<<< * cdef tuple state * cdef object _dict */ - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_11PlayerState_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PlayerState___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[32])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1, __pyx_L1_error) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_11PlayerState_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PlayerState___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[33])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PlayerState, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(1, 1, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_PlayerState, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(1, 1, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "(tree fragment)":16 @@ -49402,246 +50765,336 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< * __pyx_unpickle_PlayerState__set_state(self, __pyx_state) */ - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_11PlayerState_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PlayerState___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[33])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16, __pyx_L1_error) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_11PlayerState_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PlayerState___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[34])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_PlayerState, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(1, 16, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_PlayerState, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(1, 16, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":495 + /* "blokus_cython.pyx":500 * return len(self._action_moves) * * def get_move(self, int action) -> Move: # <<<<<<<<<<<<<< * return self._action_moves[action] * */ - __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 495, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_Move) < (0)) __PYX_ERR(0, 495, __pyx_L1_error) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_3get_move, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_get_move, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[34])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 495, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_Move) < (0)) __PYX_ERR(0, 500, __pyx_L1_error) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_10BlokusGame_3get_move, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_get_move, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[35])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_5, __pyx_t_4); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_get_move, __pyx_t_5) < (0)) __PYX_ERR(0, 495, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_get_move, __pyx_t_5) < (0)) __PYX_ERR(0, 500, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "blokus_gym/core/blokus_cython.pyx":498 + /* "blokus_cython.pyx":503 * return self._action_moves[action] * * def get_action(self, Move move) -> int: # <<<<<<<<<<<<<< * return self._move_to_action[(move.piece_id, move.orientation_id, move.x, move.y)] * */ - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 498, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_int) < (0)) __PYX_ERR(0, 498, __pyx_L1_error) - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_5get_action, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_get_action, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[35])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 498, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_int) < (0)) __PYX_ERR(0, 503, __pyx_L1_error) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_10BlokusGame_5get_action, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_get_action, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[36])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); #endif __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_5); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_get_action, __pyx_t_4) < (0)) __PYX_ERR(0, 498, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_get_action, __pyx_t_4) < (0)) __PYX_ERR(0, 503, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":501 + /* "blokus_cython.pyx":506 * return self._move_to_action[(move.piece_id, move.orientation_id, move.x, move.y)] * * def reset(self) -> None: # <<<<<<<<<<<<<< * """Reset the game to its initial state.""" * self.board = Board(self.board_size) */ - __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 501, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_None) < (0)) __PYX_ERR(0, 501, __pyx_L1_error) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_7reset, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_reset, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[36])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 501, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_None) < (0)) __PYX_ERR(0, 506, __pyx_L1_error) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_10BlokusGame_7reset, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_reset, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[37])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_5, __pyx_t_4); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_reset, __pyx_t_5) < (0)) __PYX_ERR(0, 501, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_reset, __pyx_t_5) < (0)) __PYX_ERR(0, 506, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "blokus_gym/core/blokus_cython.pyx":540 + /* "blokus_cython.pyx":536 * return result * + * cpdef list get_placed_squares(self, Move move): # <<<<<<<<<<<<<< + * """Python-accessible wrapper for _get_placed_squares.""" + * return self._get_placed_squares(move) +*/ + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_10BlokusGame_9get_placed_squares, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_get_placed_squares, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[38])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 536, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 + PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); + #endif + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_get_placed_squares, __pyx_t_5) < (0)) __PYX_ERR(0, 536, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "blokus_cython.pyx":549 + * return result + * + * cpdef list get_placed_corners(self, Move move): # <<<<<<<<<<<<<< + * """Python-accessible wrapper for _get_placed_corners.""" + * return self._get_placed_corners(move) +*/ + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_10BlokusGame_11get_placed_corners, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_get_placed_corners, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[39])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 549, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 + PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); + #endif + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_get_placed_corners, __pyx_t_5) < (0)) __PYX_ERR(0, 549, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "blokus_cython.pyx":553 + * return self._get_placed_corners(move) + * * cpdef bint valid_move(self, int player_idx, Move move): # <<<<<<<<<<<<<< * """Check if a move is valid for the given player.""" * cdef PlayerState player = self.players[player_idx] */ - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_9valid_move, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_valid_move, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[37])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 540, __pyx_L1_error) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_10BlokusGame_13valid_move, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_valid_move, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[40])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 553, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_valid_move, __pyx_t_5) < (0)) __PYX_ERR(0, 540, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_valid_move, __pyx_t_5) < (0)) __PYX_ERR(0, 553, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "blokus_gym/core/blokus_cython.pyx":592 + /* "blokus_cython.pyx":605 * return True * * cpdef get_valid_actions(self, int player_idx): # <<<<<<<<<<<<<< * """Get a boolean mask of valid actions for the given player.""" * cdef PlayerState player = self.players[player_idx] */ - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_11get_valid_actions, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_get_valid_actions, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[38])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 592, __pyx_L1_error) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_10BlokusGame_15get_valid_actions, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_get_valid_actions, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[41])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_get_valid_actions, __pyx_t_5) < (0)) __PYX_ERR(0, 592, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_get_valid_actions, __pyx_t_5) < (0)) __PYX_ERR(0, 605, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "blokus_gym/core/blokus_cython.pyx":668 + /* "blokus_cython.pyx":681 * return mask * * cpdef bint has_valid_moves(self, int player_idx): # <<<<<<<<<<<<<< * """Check if a player has any valid moves.""" * cdef PlayerState player = self.players[player_idx] */ - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_13has_valid_moves, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_has_valid_moves, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[39])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 668, __pyx_L1_error) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_10BlokusGame_17has_valid_moves, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_has_valid_moves, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[42])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_has_valid_moves, __pyx_t_5) < (0)) __PYX_ERR(0, 668, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_has_valid_moves, __pyx_t_5) < (0)) __PYX_ERR(0, 681, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "blokus_gym/core/blokus_cython.pyx":687 + /* "blokus_cython.pyx":700 * return False * * def apply_move(self, int player_idx, Move move) -> None: # <<<<<<<<<<<<<< * """Apply a move to the game state. Does not validate.""" * cdef PlayerState player = self.players[player_idx] */ - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 687, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 700, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_None) < (0)) __PYX_ERR(0, 687, __pyx_L1_error) - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_15apply_move, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_apply_move, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[40])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 687, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_None) < (0)) __PYX_ERR(0, 700, __pyx_L1_error) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_10BlokusGame_19apply_move, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_apply_move, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[43])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 700, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); #endif __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_5); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_apply_move, __pyx_t_4) < (0)) __PYX_ERR(0, 687, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_apply_move, __pyx_t_4) < (0)) __PYX_ERR(0, 700, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":715 + /* "blokus_cython.pyx":728 * self._check_game_over() * * def play_move(self, int player_idx, int action) -> bint: # <<<<<<<<<<<<<< * """Play an action for the given player. Validates first.""" * cdef Move move = self._action_moves[action] */ - __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 715, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_bint) < (0)) __PYX_ERR(0, 715, __pyx_L1_error) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_17play_move, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_play_move, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[41])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 715, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_bint) < (0)) __PYX_ERR(0, 728, __pyx_L1_error) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_10BlokusGame_21play_move, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_play_move, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[44])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_5, __pyx_t_4); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_play_move, __pyx_t_5) < (0)) __PYX_ERR(0, 715, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_play_move, __pyx_t_5) < (0)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "blokus_gym/core/blokus_cython.pyx":725 + /* "blokus_cython.pyx":738 * return True * * def next_player(self): # <<<<<<<<<<<<<< * """Advance to the next player who can still move. * */ - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_19next_player, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_next_player, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[42])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 725, __pyx_L1_error) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_10BlokusGame_23next_player, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_next_player, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[45])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 738, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_next_player, __pyx_t_5) < (0)) __PYX_ERR(0, 725, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_next_player, __pyx_t_5) < (0)) __PYX_ERR(0, 738, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "blokus_gym/core/blokus_cython.pyx":744 + /* "blokus_cython.pyx":757 * return self.current_player * * def _check_game_over(self) -> None: # <<<<<<<<<<<<<< * """Check if the game is over.""" * cdef PlayerState player */ - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 744, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 757, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_None) < (0)) __PYX_ERR(0, 744, __pyx_L1_error) - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_21_check_game_over, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame__check_game_over, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[43])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 744, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_None) < (0)) __PYX_ERR(0, 757, __pyx_L1_error) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_10BlokusGame_25_check_game_over, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame__check_game_over, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[46])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 757, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); #endif __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_5); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_check_game_over, __pyx_t_4) < (0)) __PYX_ERR(0, 744, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_check_game_over, __pyx_t_4) < (0)) __PYX_ERR(0, 757, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "blokus_gym/core/blokus_cython.pyx":760 + /* "blokus_cython.pyx":773 * self.game_over = True * - * def get_state(self) -> dict: # <<<<<<<<<<<<<< - * """Get the current game state as a dictionary.""" - * return { + * def is_game_over(self) -> bool: # <<<<<<<<<<<<<< + * """Check if the game is over (no player can make a move).""" + * if self.game_over: */ - __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 760, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_dict_2) < (0)) __PYX_ERR(0, 760, __pyx_L1_error) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_23get_state, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_get_state, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[44])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 760, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_bool) < (0)) __PYX_ERR(0, 773, __pyx_L1_error) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_10BlokusGame_27is_game_over, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_is_game_over, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[47])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_5, __pyx_t_4); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_get_state, __pyx_t_5) < (0)) __PYX_ERR(0, 760, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_is_game_over, __pyx_t_5) < (0)) __PYX_ERR(0, 773, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "blokus_gym/core/blokus_cython.pyx":780 - * } + /* "blokus_cython.pyx":785 + * return True + * + * def get_scores(self) -> list: # <<<<<<<<<<<<<< + * """Get the score for each player. * - * def copy(self) -> BlokusGame: # <<<<<<<<<<<<<< - * """Create a deep copy of the game.""" - * cdef BlokusGame new_game = BlokusGame( */ - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 780, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 785, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_BlokusGame) < (0)) __PYX_ERR(0, 780, __pyx_L1_error) - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_25copy, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_copy, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[45])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 780, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_list) < (0)) __PYX_ERR(0, 785, __pyx_L1_error) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_10BlokusGame_29get_scores, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_get_scores, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[48])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 785, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); #endif __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_5); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_copy, __pyx_t_4) < (0)) __PYX_ERR(0, 780, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_get_scores, __pyx_t_4) < (0)) __PYX_ERR(0, 785, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + /* "blokus_cython.pyx":814 + * return scores + * + * def get_winners(self) -> list | None: # <<<<<<<<<<<<<< + * """Get the winning player(s). Returns None if game is not over.""" + * if not self.is_game_over(): +*/ + __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 814, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_kp_u_list_None) < (0)) __PYX_ERR(0, 814, __pyx_L1_error) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_10BlokusGame_31get_winners, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_get_winners, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[49])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 814, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 + PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); + #endif + __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_5, __pyx_t_4); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_get_winners, __pyx_t_5) < (0)) __PYX_ERR(0, 814, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "blokus_cython.pyx":823 + * return [i for i, s in enumerate(scores) if s == max_score] + * + * def get_state(self) -> dict: # <<<<<<<<<<<<<< + * """Get the current game state as a dictionary.""" + * return { +*/ + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 823, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_dict_2) < (0)) __PYX_ERR(0, 823, __pyx_L1_error) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_10BlokusGame_33get_state, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_get_state, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[50])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 823, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 + PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); + #endif + __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_5); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_get_state, __pyx_t_4) < (0)) __PYX_ERR(0, 823, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "blokus_cython.pyx":843 + * } + * + * def copy(self) -> BlokusGame: # <<<<<<<<<<<<<< + * """Create a deep copy of the game.""" + * cdef BlokusGame new_game = BlokusGame( +*/ + __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 843, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_BlokusGame) < (0)) __PYX_ERR(0, 843, __pyx_L1_error) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_10BlokusGame_35copy, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame_copy, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[51])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 843, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 + PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); + #endif + __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_5, __pyx_t_4); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_copy, __pyx_t_5) < (0)) __PYX_ERR(0, 843, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + /* "(tree fragment)":1 * def __reduce_cython__(self): # <<<<<<<<<<<<<< * cdef tuple state * cdef object _dict */ - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_27__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[46])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_10BlokusGame_37__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[52])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); + PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(1, 1, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_5) < (0)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "(tree fragment)":16 * else: @@ -49649,13 +51102,13 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< * __pyx_unpickle_BlokusGame__set_state(self, __pyx_state) */ - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_10BlokusGame_29__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[47])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_10BlokusGame_39__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BlokusGame___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[53])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 16, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); + PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_10blokus_gym_4core_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(1, 16, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_13blokus_cython_BlokusGame, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_5) < (0)) __PYX_ERR(1, 16, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "(tree fragment)":4 * int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1 @@ -49664,26 +51117,26 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); * cdef object __pyx_result * __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x0510d2c, 0x0b84c10, 0x0bc2a6c, b'_occupied_cache, grid, size') */ - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_1__pyx_unpickle_Board, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Board, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[48])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_3__pyx_unpickle_Board, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Board, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[54])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); + PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Board, __pyx_t_4) < (0)) __PYX_ERR(1, 4, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Board, __pyx_t_5) < (0)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "(tree fragment)":1 * cdef extern from *: # <<<<<<<<<<<<<< * int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1 * int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1 */ - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_3__pyx_unpickle_Move, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Move, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[49])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_5__pyx_unpickle_Move, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Move, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[55])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); + PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Move, __pyx_t_4) < (0)) __PYX_ERR(1, 4, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Move, __pyx_t_5) < (0)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "(tree fragment)":4 * int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1 @@ -49692,26 +51145,26 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); * cdef object __pyx_result * __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xf86ecb3, 0x1b2f35d, 0x9c26469, b'corners, orientation_id, piece_id, squares') */ - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_5__pyx_unpickle_PieceOrientation, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PieceOrientation, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[50])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_7__pyx_unpickle_PieceOrientation, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PieceOrientation, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[56])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); + PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PieceOrientation, __pyx_t_4) < (0)) __PYX_ERR(1, 4, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PieceOrientation, __pyx_t_5) < (0)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "(tree fragment)":1 * cdef extern from *: # <<<<<<<<<<<<<< * int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1 * int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1 */ - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_7__pyx_unpickle_Piece, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Piece, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[51])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_9__pyx_unpickle_Piece, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Piece, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[57])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); + PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Piece, __pyx_t_4) < (0)) __PYX_ERR(1, 4, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Piece, __pyx_t_5) < (0)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "(tree fragment)":4 * int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1 @@ -49720,26 +51173,26 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); * cdef object __pyx_result * __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x0a4ef5f, 0x798f028, 0xb2ae89a, b'num_orientations, orientations, piece_id_map, piece_names, pieces') */ - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_9__pyx_unpickle_PieceSet, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PieceSet, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[52])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_11__pyx_unpickle_PieceSet, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PieceSet, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[58])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); + PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PieceSet, __pyx_t_4) < (0)) __PYX_ERR(1, 4, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PieceSet, __pyx_t_5) < (0)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "(tree fragment)":1 * cdef extern from *: # <<<<<<<<<<<<<< * int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1 * int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1 */ - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_11__pyx_unpickle_PlayerState, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PlayerState, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[53])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_13__pyx_unpickle_PlayerState, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PlayerState, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[59])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); + PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PlayerState, __pyx_t_4) < (0)) __PYX_ERR(1, 4, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PlayerState, __pyx_t_5) < (0)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "(tree fragment)":4 * int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1 @@ -49748,23 +51201,23 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); * cdef object __pyx_result * __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x2eba6e9, 0xec864e3, 0x3965e13, b'_action_moves, _actions_by_piece, _move_to_action, _starting_corners, board, board_size, corner_rule, current_player, game_over, num_players, piece_set, players, rounds') */ - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10blokus_gym_4core_13blokus_cython_13__pyx_unpickle_BlokusGame, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_BlokusGame, NULL, __pyx_mstate_global->__pyx_n_u_blokus_gym_core_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[54])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_13blokus_cython_15__pyx_unpickle_BlokusGame, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_BlokusGame, NULL, __pyx_mstate_global->__pyx_n_u_blokus_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[60])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); + PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_BlokusGame, __pyx_t_4) < (0)) __PYX_ERR(1, 4, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_BlokusGame, __pyx_t_5) < (0)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "blokus_gym/core/blokus_cython.pyx":1 + /* "blokus_cython.pyx":1 * #!/usr/bin/env python3 # <<<<<<<<<<<<<< * # Combined Cython implementation of Blokus game engine * # Compile with: python setup_cython.py build_ext --inplace */ - __pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_test, __pyx_t_4) < (0)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_test, __pyx_t_5) < (0)) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /*--- Wrapped vars code ---*/ @@ -49774,7 +51227,7 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); __Pyx_XDECREF(__pyx_t_5); if (__pyx_m) { if (__pyx_mstate->__pyx_d && stringtab_initialized) { - __Pyx_AddTraceback("init blokus_gym.core.blokus_cython", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("init blokus_cython", __pyx_clineno, __pyx_lineno, __pyx_filename); } #if !CYTHON_USE_MODULE_STATE Py_CLEAR(__pyx_m); @@ -49788,7 +51241,7 @@ __Pyx_RefNannySetupContext("PyInit_blokus_cython", 0); } #endif } else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_ImportError, "init blokus_gym.core.blokus_cython"); + PyErr_SetString(PyExc_ImportError, "init blokus_cython"); } __pyx_L0:; __Pyx_RefNannyFinishContext(); @@ -49805,8 +51258,8 @@ static int __Pyx_InitCachedBuiltins(__pyx_mstatetype *__pyx_mstate) { CYTHON_UNUSED_VAR(__pyx_mstate); __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_enumerate); if (!__pyx_builtin_enumerate) __PYX_ERR(0, 235, __pyx_L1_error) __pyx_builtin_sum = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_sum); if (!__pyx_builtin_sum) __PYX_ERR(0, 241, __pyx_L1_error) - __pyx_builtin_min = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_min); if (!__pyx_builtin_min) __PYX_ERR(0, 351, __pyx_L1_error) - __pyx_builtin_max = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_max); if (!__pyx_builtin_max) __PYX_ERR(0, 481, __pyx_L1_error) + __pyx_builtin_min = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_min); if (!__pyx_builtin_min) __PYX_ERR(0, 356, __pyx_L1_error) + __pyx_builtin_max = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_max); if (!__pyx_builtin_max) __PYX_ERR(0, 486, __pyx_L1_error) __pyx_builtin___import__ = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_import); if (!__pyx_builtin___import__) __PYX_ERR(1, 109, __pyx_L1_error) __pyx_builtin_Ellipsis = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_Ellipsis); if (!__pyx_builtin_Ellipsis) __PYX_ERR(1, 418, __pyx_L1_error) __pyx_builtin_id = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_id); if (!__pyx_builtin_id) __PYX_ERR(1, 628, __pyx_L1_error) @@ -49854,7 +51307,7 @@ static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) { __Pyx_GOTREF(__pyx_mstate_global->__pyx_slice[0]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_slice[0]); - /* "blokus_gym/core/blokus_cython.pyx":122 + /* "blokus_cython.pyx":122 * * for x, y in player_squares: * for dx, dy in [(-1, -1), (1, -1), (-1, 1), (1, 1)]: # <<<<<<<<<<<<<< @@ -49877,41 +51330,41 @@ static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) { __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[5]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[5]); - /* "blokus_gym/core/blokus_cython.pyx":441 + /* "blokus_cython.pyx":446 * max_idx = board_size - 1 * self._starting_corners = [ * (0, 0), # <<<<<<<<<<<<<< * (0, max_idx), * (max_idx, 0), */ - __pyx_mstate_global->__pyx_tuple[6] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_int_0, __pyx_mstate_global->__pyx_int_0); if (unlikely(!__pyx_mstate_global->__pyx_tuple[6])) __PYX_ERR(0, 441, __pyx_L1_error) + __pyx_mstate_global->__pyx_tuple[6] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_int_0, __pyx_mstate_global->__pyx_int_0); if (unlikely(!__pyx_mstate_global->__pyx_tuple[6])) __PYX_ERR(0, 446, __pyx_L1_error) __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[6]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[6]); - /* "blokus_gym/core/blokus_cython.pyx":573 + /* "blokus_cython.pyx":586 * # Rule 5: No edge adjacency with same-color pieces (inline for speed) * for x, y in placed_squares: * for dx, dy in [(-1, 0), (1, 0), (0, -1), (0, 1)]: # <<<<<<<<<<<<<< * if self.board.in_bounds(x + dx, y + dy): * if self.board.get_cell(x + dx, y + dy) == player_board_idx: */ - __pyx_mstate_global->__pyx_tuple[7] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_int_neg_1, __pyx_mstate_global->__pyx_int_0); if (unlikely(!__pyx_mstate_global->__pyx_tuple[7])) __PYX_ERR(0, 573, __pyx_L1_error) + __pyx_mstate_global->__pyx_tuple[7] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_int_neg_1, __pyx_mstate_global->__pyx_int_0); if (unlikely(!__pyx_mstate_global->__pyx_tuple[7])) __PYX_ERR(0, 586, __pyx_L1_error) __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[7]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[7]); - __pyx_mstate_global->__pyx_tuple[8] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_int_1, __pyx_mstate_global->__pyx_int_0); if (unlikely(!__pyx_mstate_global->__pyx_tuple[8])) __PYX_ERR(0, 573, __pyx_L1_error) + __pyx_mstate_global->__pyx_tuple[8] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_int_1, __pyx_mstate_global->__pyx_int_0); if (unlikely(!__pyx_mstate_global->__pyx_tuple[8])) __PYX_ERR(0, 586, __pyx_L1_error) __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[8]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[8]); - __pyx_mstate_global->__pyx_tuple[9] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_int_0, __pyx_mstate_global->__pyx_int_neg_1); if (unlikely(!__pyx_mstate_global->__pyx_tuple[9])) __PYX_ERR(0, 573, __pyx_L1_error) + __pyx_mstate_global->__pyx_tuple[9] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_int_0, __pyx_mstate_global->__pyx_int_neg_1); if (unlikely(!__pyx_mstate_global->__pyx_tuple[9])) __PYX_ERR(0, 586, __pyx_L1_error) __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[9]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[9]); - __pyx_mstate_global->__pyx_tuple[10] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_int_0, __pyx_mstate_global->__pyx_int_1); if (unlikely(!__pyx_mstate_global->__pyx_tuple[10])) __PYX_ERR(0, 573, __pyx_L1_error) + __pyx_mstate_global->__pyx_tuple[10] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_int_0, __pyx_mstate_global->__pyx_int_1); if (unlikely(!__pyx_mstate_global->__pyx_tuple[10])) __PYX_ERR(0, 586, __pyx_L1_error) __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[10]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[10]); - __pyx_mstate_global->__pyx_tuple[11] = PyTuple_Pack(4, __pyx_mstate_global->__pyx_tuple[7], __pyx_mstate_global->__pyx_tuple[8], __pyx_mstate_global->__pyx_tuple[9], __pyx_mstate_global->__pyx_tuple[10]); if (unlikely(!__pyx_mstate_global->__pyx_tuple[11])) __PYX_ERR(0, 573, __pyx_L1_error) + __pyx_mstate_global->__pyx_tuple[11] = PyTuple_Pack(4, __pyx_mstate_global->__pyx_tuple[7], __pyx_mstate_global->__pyx_tuple[8], __pyx_mstate_global->__pyx_tuple[9], __pyx_mstate_global->__pyx_tuple[10]); if (unlikely(!__pyx_mstate_global->__pyx_tuple[11])) __PYX_ERR(0, 586, __pyx_L1_error) __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[11]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[11]); - /* "blokus_gym/core/blokus_cython.pyx":261 + /* "blokus_cython.pyx":261 * # ------------------------------------------------------------------- * * cdef frozenset _I1_squares = frozenset([(0, 0)]) # <<<<<<<<<<<<<< @@ -49922,7 +51375,7 @@ static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) { __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[12]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[12]); - /* "blokus_gym/core/blokus_cython.pyx":262 + /* "blokus_cython.pyx":262 * * cdef frozenset _I1_squares = frozenset([(0, 0)]) * cdef frozenset _I2_squares = frozenset([(0, 0), (0, 1)]) # <<<<<<<<<<<<<< @@ -49933,7 +51386,7 @@ static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) { __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[13]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[13]); - /* "blokus_gym/core/blokus_cython.pyx":263 + /* "blokus_cython.pyx":263 * cdef frozenset _I1_squares = frozenset([(0, 0)]) * cdef frozenset _I2_squares = frozenset([(0, 0), (0, 1)]) * cdef frozenset _I3_squares = frozenset([(0, 0), (0, 1), (0, 2)]) # <<<<<<<<<<<<<< @@ -49947,7 +51400,7 @@ static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) { __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[15]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[15]); - /* "blokus_gym/core/blokus_cython.pyx":264 + /* "blokus_cython.pyx":264 * cdef frozenset _I2_squares = frozenset([(0, 0), (0, 1)]) * cdef frozenset _I3_squares = frozenset([(0, 0), (0, 1), (0, 2)]) * cdef frozenset _V3_squares = frozenset([(0, 0), (1, 0), (0, 1)]) # <<<<<<<<<<<<<< @@ -49958,7 +51411,7 @@ static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) { __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[16]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[16]); - /* "blokus_gym/core/blokus_cython.pyx":265 + /* "blokus_cython.pyx":265 * cdef frozenset _I3_squares = frozenset([(0, 0), (0, 1), (0, 2)]) * cdef frozenset _V3_squares = frozenset([(0, 0), (1, 0), (0, 1)]) * cdef frozenset _I4_squares = frozenset([(0, 0), (0, 1), (0, 2), (0, 3)]) # <<<<<<<<<<<<<< @@ -49972,7 +51425,7 @@ static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) { __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[18]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[18]); - /* "blokus_gym/core/blokus_cython.pyx":266 + /* "blokus_cython.pyx":266 * cdef frozenset _V3_squares = frozenset([(0, 0), (1, 0), (0, 1)]) * cdef frozenset _I4_squares = frozenset([(0, 0), (0, 1), (0, 2), (0, 3)]) * cdef frozenset _L4_squares = frozenset([(0, 0), (0, 1), (0, 2), (1, 0)]) # <<<<<<<<<<<<<< @@ -49983,7 +51436,7 @@ static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) { __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[19]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[19]); - /* "blokus_gym/core/blokus_cython.pyx":267 + /* "blokus_cython.pyx":267 * cdef frozenset _I4_squares = frozenset([(0, 0), (0, 1), (0, 2), (0, 3)]) * cdef frozenset _L4_squares = frozenset([(0, 0), (0, 1), (0, 2), (1, 0)]) * cdef frozenset _T4_squares = frozenset([(0, 0), (1, 0), (2, 0), (1, 1)]) # <<<<<<<<<<<<<< @@ -49997,7 +51450,7 @@ static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) { __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[21]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[21]); - /* "blokus_gym/core/blokus_cython.pyx":268 + /* "blokus_cython.pyx":268 * cdef frozenset _L4_squares = frozenset([(0, 0), (0, 1), (0, 2), (1, 0)]) * cdef frozenset _T4_squares = frozenset([(0, 0), (1, 0), (2, 0), (1, 1)]) * cdef frozenset _S4_squares = frozenset([(0, 0), (1, 0), (1, 1), (2, 1)]) # <<<<<<<<<<<<<< @@ -50011,7 +51464,7 @@ static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) { __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[23]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[23]); - /* "blokus_gym/core/blokus_cython.pyx":269 + /* "blokus_cython.pyx":269 * cdef frozenset _T4_squares = frozenset([(0, 0), (1, 0), (2, 0), (1, 1)]) * cdef frozenset _S4_squares = frozenset([(0, 0), (1, 0), (1, 1), (2, 1)]) * cdef frozenset _O4_squares = frozenset([(0, 0), (1, 0), (0, 1), (1, 1)]) # <<<<<<<<<<<<<< @@ -50022,7 +51475,7 @@ static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) { __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[24]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[24]); - /* "blokus_gym/core/blokus_cython.pyx":270 + /* "blokus_cython.pyx":270 * cdef frozenset _S4_squares = frozenset([(0, 0), (1, 0), (1, 1), (2, 1)]) * cdef frozenset _O4_squares = frozenset([(0, 0), (1, 0), (0, 1), (1, 1)]) * cdef frozenset _I5_squares = frozenset([(0, 0), (0, 1), (0, 2), (0, 3), (0, 4)]) # <<<<<<<<<<<<<< @@ -50036,7 +51489,7 @@ static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) { __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[26]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[26]); - /* "blokus_gym/core/blokus_cython.pyx":271 + /* "blokus_cython.pyx":271 * cdef frozenset _O4_squares = frozenset([(0, 0), (1, 0), (0, 1), (1, 1)]) * cdef frozenset _I5_squares = frozenset([(0, 0), (0, 1), (0, 2), (0, 3), (0, 4)]) * cdef frozenset _L5_squares = frozenset([(0, 0), (0, 1), (0, 2), (0, 3), (1, 0)]) # <<<<<<<<<<<<<< @@ -50047,7 +51500,7 @@ static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) { __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[27]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[27]); - /* "blokus_gym/core/blokus_cython.pyx":272 + /* "blokus_cython.pyx":272 * cdef frozenset _I5_squares = frozenset([(0, 0), (0, 1), (0, 2), (0, 3), (0, 4)]) * cdef frozenset _L5_squares = frozenset([(0, 0), (0, 1), (0, 2), (0, 3), (1, 0)]) * cdef frozenset _Y5_squares = frozenset([(0, 0), (0, 1), (0, 2), (0, 3), (1, 1)]) # <<<<<<<<<<<<<< @@ -50058,7 +51511,7 @@ static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) { __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[28]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[28]); - /* "blokus_gym/core/blokus_cython.pyx":273 + /* "blokus_cython.pyx":273 * cdef frozenset _L5_squares = frozenset([(0, 0), (0, 1), (0, 2), (0, 3), (1, 0)]) * cdef frozenset _Y5_squares = frozenset([(0, 0), (0, 1), (0, 2), (0, 3), (1, 1)]) * cdef frozenset _N5_squares = frozenset([(0, 0), (1, 0), (2, 0), (2, 1), (3, 1)]) # <<<<<<<<<<<<<< @@ -50072,7 +51525,7 @@ static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) { __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[30]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[30]); - /* "blokus_gym/core/blokus_cython.pyx":274 + /* "blokus_cython.pyx":274 * cdef frozenset _Y5_squares = frozenset([(0, 0), (0, 1), (0, 2), (0, 3), (1, 1)]) * cdef frozenset _N5_squares = frozenset([(0, 0), (1, 0), (2, 0), (2, 1), (3, 1)]) * cdef frozenset _T5_squares = frozenset([(0, 0), (1, 0), (2, 0), (1, 1), (1, 2)]) # <<<<<<<<<<<<<< @@ -50086,7 +51539,7 @@ static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) { __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[32]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[32]); - /* "blokus_gym/core/blokus_cython.pyx":275 + /* "blokus_cython.pyx":275 * cdef frozenset _N5_squares = frozenset([(0, 0), (1, 0), (2, 0), (2, 1), (3, 1)]) * cdef frozenset _T5_squares = frozenset([(0, 0), (1, 0), (2, 0), (1, 1), (1, 2)]) * cdef frozenset _U5_squares = frozenset([(0, 0), (2, 0), (0, 1), (1, 1), (2, 1)]) # <<<<<<<<<<<<<< @@ -50097,7 +51550,7 @@ static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) { __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[33]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[33]); - /* "blokus_gym/core/blokus_cython.pyx":276 + /* "blokus_cython.pyx":276 * cdef frozenset _T5_squares = frozenset([(0, 0), (1, 0), (2, 0), (1, 1), (1, 2)]) * cdef frozenset _U5_squares = frozenset([(0, 0), (2, 0), (0, 1), (1, 1), (2, 1)]) * cdef frozenset _V5_squares = frozenset([(0, 0), (0, 1), (0, 2), (1, 0), (2, 0)]) # <<<<<<<<<<<<<< @@ -50108,7 +51561,7 @@ static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) { __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[34]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[34]); - /* "blokus_gym/core/blokus_cython.pyx":277 + /* "blokus_cython.pyx":277 * cdef frozenset _U5_squares = frozenset([(0, 0), (2, 0), (0, 1), (1, 1), (2, 1)]) * cdef frozenset _V5_squares = frozenset([(0, 0), (0, 1), (0, 2), (1, 0), (2, 0)]) * cdef frozenset _W5_squares = frozenset([(0, 0), (0, 1), (1, 0), (1, 1), (2, 0)]) # <<<<<<<<<<<<<< @@ -50119,7 +51572,7 @@ static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) { __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[35]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[35]); - /* "blokus_gym/core/blokus_cython.pyx":278 + /* "blokus_cython.pyx":278 * cdef frozenset _V5_squares = frozenset([(0, 0), (0, 1), (0, 2), (1, 0), (2, 0)]) * cdef frozenset _W5_squares = frozenset([(0, 0), (0, 1), (1, 0), (1, 1), (2, 0)]) * cdef frozenset _Z5_squares = frozenset([(0, 0), (1, 0), (1, 1), (1, 2), (2, 2)]) # <<<<<<<<<<<<<< @@ -50133,7 +51586,7 @@ static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) { __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[37]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[37]); - /* "blokus_gym/core/blokus_cython.pyx":279 + /* "blokus_cython.pyx":279 * cdef frozenset _W5_squares = frozenset([(0, 0), (0, 1), (1, 0), (1, 1), (2, 0)]) * cdef frozenset _Z5_squares = frozenset([(0, 0), (1, 0), (1, 1), (1, 2), (2, 2)]) * cdef frozenset _F5_squares = frozenset([(0, 0), (1, 0), (1, 1), (2, 1), (1, 2)]) # <<<<<<<<<<<<<< @@ -50144,7 +51597,7 @@ static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) { __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[38]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[38]); - /* "blokus_gym/core/blokus_cython.pyx":280 + /* "blokus_cython.pyx":280 * cdef frozenset _Z5_squares = frozenset([(0, 0), (1, 0), (1, 1), (1, 2), (2, 2)]) * cdef frozenset _F5_squares = frozenset([(0, 0), (1, 0), (1, 1), (2, 1), (1, 2)]) * cdef frozenset _X5_squares = frozenset([(0, 0), (1, 0), (2, 0), (1, 1), (1, -1)]) # <<<<<<<<<<<<<< @@ -50155,7 +51608,7 @@ static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) { __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[39]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[39]); - /* "blokus_gym/core/blokus_cython.pyx":281 + /* "blokus_cython.pyx":281 * cdef frozenset _F5_squares = frozenset([(0, 0), (1, 0), (1, 1), (2, 1), (1, 2)]) * cdef frozenset _X5_squares = frozenset([(0, 0), (1, 0), (2, 0), (1, 1), (1, -1)]) * cdef frozenset _P5_squares = frozenset([(0, 0), (1, 0), (0, 1), (1, 1), (0, 2)]) # <<<<<<<<<<<<<< @@ -50222,34 +51675,34 @@ static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) { static int __Pyx_InitConstants(__pyx_mstatetype *__pyx_mstate) { CYTHON_UNUSED_VAR(__pyx_mstate); { - const struct { const unsigned int length: 9; } index[] = {{2},{35},{54},{37},{60},{24},{52},{26},{34},{33},{45},{22},{15},{11},{179},{37},{32},{1},{1},{1},{1},{2},{2},{1},{8},{5},{6},{33},{15},{23},{25},{7},{6},{2},{6},{35},{9},{30},{50},{39},{34},{8},{9},{7},{20},{32},{22},{14},{30},{37},{5},{10},{28},{30},{27},{50},{21},{15},{21},{19},{20},{28},{26},{22},{20},{16},{21},{5},{23},{25},{11},{14},{14},{18},{24},{25},{24},{17},{15},{14},{13},{11},{8},{2},{2},{2},{2},{2},{2},{2},{2},{4},{22},{24},{2},{4},{2},{2},{5},{16},{34},{36},{8},{26},{28},{25},{18},{21},{23},{25},{11},{29},{31},{20},{2},{8},{2},{2},{2},{2},{2},{15},{2},{2},{2},{2},{1},{3},{6},{15},{12},{10},{18},{16},{4},{4},{29},{10},{4},{1},{8},{16},{33},{9},{17},{5},{18},{5},{4},{11},{7},{5},{8},{14},{2},{2},{8},{4},{5},{5},{15},{2},{2},{6},{9},{5},{4},{5},{5},{6},{7},{8},{9},{7},{10},{8},{8},{12},{16},{9},{12},{18},{19},{18},{9},{17},{12},{9},{11},{11},{15},{1},{2},{3},{10},{9},{5},{25},{3},{4},{13},{8},{7},{5},{8},{4},{8},{3},{7},{3},{4},{10},{4},{4},{8},{4},{7},{8},{4},{8},{11},{41},{2},{11},{10},{11},{5},{1},{3},{6},{14},{1},{4},{5},{8},{6},{11},{5},{14},{14},{9},{6},{10},{14},{7},{3},{14},{12},{11},{10},{25},{20},{19},{19},{20},{31},{23},{26},{14},{12},{10},{17},{13},{8},{5},{6},{6},{6},{5},{4},{4},{3},{12},{10},{12},{19},{5},{4},{7},{5},{5},{4},{4},{6},{3},{8},{5},{6},{6},{12},{10},{5},{6},{1},{1},{5},{16},{11},{96},{77},{79},{144},{51},{11},{52},{187},{2},{113},{88},{384},{493},{110},{33},{67},{120},{107},{399},{111},{134},{169},{104},{11},{2},{60},{56},{68},{81},{188},{79},{16},{11},{11},{2},{55},{55},{58},{55},{55},{55},{2},{2},{11},{16},{164},{34},{16},{16},{1}}; - #if (CYTHON_COMPRESS_STRINGS) == 2 /* compression: bz2 (3853 bytes) */ -const char* const cstring = "BZh91AY&SY>2\322\305\000\003\325\177\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\300@@@@@@@@@@@@\000@\000`\017]\336\367\037/n5lmb@v\030\347J\3477l\333&\263Mk\271n\200C\340\000\003\203BP\205\022\207\250\365\036Si=OQ\372\246\365OS\3016\202f\206\023\003(\312\206\323)\352=\251\352\233(\331M\2216\243M6\2104\331'\246\231C\304A(\200\020\323Q\243)O\023\324\324\375P\315M\032\237\251\006\206F\332\201\017H\014\215\251\246 \014M\006\214\230\217H\332\233S\320\200\323\r4\320\210I\221\0104z\215=FOS\304\217P\003OP\0004\000\r\000\000\320\032\000\000\032\031\222\001&\244B\232\236\211\251\275Dm'\352G\250mCL\2004\0004\003@\000\365\006\200\000\006\215\000\032\000\032\032\035\r\006M4zz\237\252L\0020&\023\000\000!\211\246\230\201\221\264F\200z\214\004\300L!\220d\000\022(\"a\032LF\020dd\032\014\242\232?Rd\365\007\250\0004\000\000\000\000\000\000\032\000\034\311 f\223>h\260+]\265\240R\030\004\365\231\005\200\301\223\225\370\376\333\334\355\356h\335\r\274\310s\231\t\335\014\361\"C\232\020\361\026\240\310K\2638\304n\360G\221\3068\344N\356\261\221\337r\367\217\241\221\032\306\321 \000\000F@\004H\000\000\000\r\022\030na\r>}N\357\371j;6\307\265\334\334&\340\334\233\267\374=\275\231\347\267=\271\347\267<\314\363\333\236\177\"\"\007\310\211\377\304\252DX\261I\314\207\006I\246i\232f\222\366\341\311\210Z\030\3341\016\256\004\303\016 A\271\3036q!\255\003Y\202\2121\021@\025\021UVAddH)\020A\03023S,\331\301(\332U\276\245*m\024\222\275h\257\025\210,i\t\264\214\003\017E*Ey&\005u\302@\242\235\224\370\2459\226HJ(^\220\3304\332m\337\324\261&y\252\204X,\230\225U|@\301\212\016\270^\033\2545\250\314\033@\323h\210.\3512ZR\201\201%jS\251u\237\014\231\263\006\233\000\360\304^f\323f&\310\020\010\026\223\256\331\\\205\205\240\251\373\032\205Z\035\211*\352\225K\322\374c\004q\"\2426#\274p\306\021\n\025\263a\001\215D\203\005sTUk\002\224\225\013\261\002QBj\202\261gG5g;\374\264\261\030\315W\013Nf&\270$\226\371\262\346\223\234\354a\215\362\245\022\214[\230]t\244a~!\204\013\257'9\3665\\\311\320\030\264\300\224\220\360\242B\002\027\242\025a\024\307\317\036\323V\022Z\366\"\023\226\246t\271\275\315\330!P\256\277F\326\3016k\360\251C\216!#c\271}j\3016\233-08\021\357-\230O\013\266Z\325\301\023\017\016\363\362v\271N\010;g>\276\335l\316\306\305\206$U8E\323\264\203E\003'k\212\270\000C\223v,\341\266\230\335\014\362\330\013\324\315\377\221\262\2304\242t#\234\\g:\316\001\027\252<3d\\5E\342\323a\014Hz/8\342\024`'W\001~\026\034\270\201\213\357\303\334\366'?\357\360u\377\306@d\t\222&9'\35446&\250\306(;\320\255~\347-{\234\036\207\303\361y\273-\216\303\330\331\254\2042H\234}\323\221&\0223\362\237\323\204\347/d\376/\021\376\312nlbxx\216\"\347\006\"t\217\027\253\327\005\366\224\273\353\267\265\363\362\346\332Y%G\300\025\010>\307\007q\364\374\256I\344\227\3134\336\314\314\271\340\204\rX\204\245\341\330>A\222FM\0305.$\202\207\272\321BBGKpv\341\3678\3167\342\037\177\326[\266\"g\310\213\023\3108\271\361\335\226FY}\nm\353\035\334\367\242P\322\340\341\341__]\361\010\221LQ8\223\211g\307\363\266\361ga/D$w\363\235u\306 \230\342v`\200=\021\266-L\227(\024A\256\367\273>\365\366\344\355\352\340\344f\030m\361\232{\352lv7\2715j\345\350\337\307\3055\221\031f\341\375{p\023\340P\275\377\273\032\365\r\267\362\254\327\016F\033\234\304U\rW\314\r\275\035B\246\235\024\034\235\363\267\301\360p\031\252\242\265\261|X\361Z\302\232b\324IA \337\210H\307\317\365\253\246\264Fx\001\3205\027\"j111\325K\256\2411&\023\230M\350yzK\207\004(\230e\317\036\224\273\326\254Nx\351\277\300\221\212&\275I\305\340\341z\307\236\3567=4\034`l\320\274\240\330\363\264m`;\255=]C\035\357C&""\030Po\321\025\350\022\230\210\355\324\225m\250KH\355^Q\326<'\343\364\267\2565\357\214\223(\013t\221\330\247\206\352\223\321\203\233e\233\010\202\231\246\226\251\223q\032\005\t\221\242\353\nd _I\250\000\017\006\205\320\202\026\363\035\030B\004KeldA\333zM\276\243\232\356\241\341\235\026s*\344\221`\020p\037;\260\006C0\317N\030I\266\021\005\033\336\306\302\310\220\002\020)s4\035J\3176M\027\350\262\213(\344\373\325=F\2236\250bw\"G\325\3462\377\215\001\227\225\374\267\207\332\201\361\200=\025}\024?7\324\251*\000\320\325\316\373D\027\201\371\035\204\002\302S\\\016\350\232\032ipF\212\363\215\266\026H\025k\000b\252\271p\314`\032\0344\362\237$\264\020\373\205\331\271-\242\3770\003w\372\235\022\010P\201\220\036\370A\257JP\216\353\314\246;\274\254\336f\307\362M&\231g\t \365uq\367\365S\311\254cxr,\266ut\364\326\356\016\0036r\240u\246\315T&[\302\230\014\264u\306\220\324\2640\264\276\360\006\016Yl2F\277%Y<\347\tM\216\361\2276\370\315\251\311\347\244\232F\020c\302\020i\230\267c\010\360]mC\020r\232\r\006\231d\250\032=\365\320n*\342\324\224\024\240\224\207\006\326\266\257\013\035%\343}\333c1\225&yW\273\021\214O\013\n\271tF\206\221*g&ppj\014Il `\356\377u\021|\360|qo|W\034\345.-\024\355B\224\222M\320\220\304\261%\007\201\007\210`\363\356\032\010\003 \0014\351\260\210\013\027\233B!\323\222Ib\t\004\220-2\005c\233 \206\016/3\220\202T\033\030'\266(\213F\265\265\302\250\363J\016\274`\307Nh\206-\223\377\203\006\3437\306+\204q\201\004\261\356\212\234CQ\232\345k\362\336\354\204\212\031b\250\224\236\005\033\365|\260dK\021\010A\030\232\201\n\373%)\262\030\2355\336Qn|\267\031xe\206\016\353\316\202\370X\261\236\2538\2323sPQ\320E +\026\005\3600\315\240\013\205/6n\034\207\341Tb\356\352x9'\331\316\"\232!P\302\026\343\327#_UX\351\352Z\256\335\210\222.\352!\334`i\271\272\335\017\211\220\272\021pppq\244}\330\256=\t\333d\324L\247Q\336r\360\206\000\301\351\363\303\202kP0\025yM\241n\251\361V\007\343\256l\\\335$\242V\204\272qL\230(\014&\000f8\252\212c\243:.i\320\344}U8pP\224v\270t\324-\003\n\2546\362\277""\225\356\230\341\005QT/Z#\300\261N\273t\275\261\246\213\335\217I~V\312\2139IQ\031\265\257_\002\271\353\363\363z\376\021)>\264#\237\304Y-\265\366\362a5\362\206\254\205\360\212\326\r\013\003\306\036 =\353\001\224\240\344fj\267\201\006\267\240\30764\223|\307<+\364\202I\376\320\013\302\370!\020\242\260\344K\261;\362\255\336,\244%\262\030\312 &\364;\326@\037\275\370Fi\020\230\315\345\214\2436\235\367;\257\253\251J5\206\233Z\340F\250F\232u\016\372\003te\343^\335k $C\231\201\001\352E\266\\\236\240\310\215C\276\266\306\274\223M;\005mu\343 6\325\226\240\221y*\201\336\252(\034\344\241\034|]$j\2728K\331v\036\035\036\236\215u\2066,:@4\350\312p]\024\240\033MOm\013\306\204C,t\347\307\211[\232\241\210\311\025\007\256\253\361\312\003 \331\327\337\350\271\227J4\213a,E\372(J\220\201\211(,5l\244llW_\276\247_.\245\023\305Z\014h\300\250\032\202\226~\247\243^k1a\341\301\206\224\315\214\2010=m\313c\355\262\0075a>\234a\304\326E2P\301H+\245\211\203v\r[6XX\223P\343\273\\\320QoB\301\217%\242\247\303\320\335\3446\270\221Kj \345!\021\027L{(\224H|$\251\010X+!\254\006]\262\025\217Mi8Bb\341m\032\254a\276w\254)!\310\306\232\344\014\363\213@P\034g9\240F|\255&9UINx\304'a8\346\\B\302<\320\013J\235\267B\031\214h\330\3125\250m- ,\354\0042,p\301\250\234&\234;\266\224\024\223\031K\327{\340\324u:\200\306\342\261V\312h\003$\255s\206\003\2305\265AX:3'\030\266\021\264\214\335u\207\265\200h\271\326\257\222>m\302\200\340t\342\214\301\276\022\221\006\023\0043\265\313>\221\214N\240$\000HQ\223\267\310\230\343\002GU\021\327*\362\3459\263qWA\014\315r\214#\220\317)X\341\004p\224J^\216\267n\\\335\267\030\215\2500\306\244\024\231U\006\343.&G`+\235)\244^DXSQzLl\021\013\010*\221]\351\274\263\024\314\210\354\022%\202\324\356!ISM\260m\273\356\313k\021l\335r%*\346\226\347]S\021K\2050\314\241V\202\020\315\231#bFs9\234\330\274\307]%%=wtw\362~d\270\214I\034.9\215\347\225\222\237Y\313y\365\300\344mw0\363B\213\341\335\310\004;Wf@\333d\341\030)!\035\035\3618\300\3433\357\307\210\300p2\265\266\261\"mCa\265Q\304\372w%p\256\016s""\253\250\347\305\205\"\370\335\324\224\231\262Q\207\232\004\020\276\343\317,\251\315\260T\335_E\0038\336\243\261G\321\234\213(\213tY\001\005:K#\351\231!\310\364j\002\223\242\"\324\244^\340\274\233n\355\223\371\3328\304\343\234.D\233i8\033r?,\"\362\036}\262\237q(\nP\343I\204\260\317ROp\373FlIxb\376ZC\177\366\007\231{\2119\177\247/\305\247;\320\340\347\245\345e`\300\006EPFTC\004r'\207\372\362\020`M\24561\\*\377\035Y9|\231\275\275\316Q\236L@\260\3147\003\262\256\r\375\324\024M<\244\366\224\315\345q\300\247D\0212\337\254\247\357\230<\034\231\314\310\345.\031#)7\372F\320\267\311\216xo\031{\0319k\326>\303O\034\360d\212\367\270}\355\203\037\267z\030x\230\205\214a\033\022\201na\325\230\305\271\020\2061\2130\230\307y\3461\271\2272\2567s\003\262\330\232\376\002\326\016""\r\253X\005<$t\271x\005\026gP\371%\261/\327\262dK\237+V`\226\347\223\345kKh\361z\233\373\233\265{N\277\316\370\372^\375\253\277N\242\027\n\253\241\334l\021o\372\354\216]\355\313(\211\344L\204;\267f%\347Q\305&\316\271\023T\207$\224\351\222P\263\354^\326|\371%\236/\254K\274;\027Sp\245M9\267aD\344\346\331\253c[\336\225\207\356\332\322}\377_S\255\217\017q\023#\"K\236\305\362\301\377-\243\030\302|\315\200\327\rj\304\234#\001\006\036$d(EU\026d!3`\314\230\013\t\004\027\224`E\234\010>+\311&l\341\300\261\020\"\317./\016\\\335\332\254-\n\236M\010\262\035\253\336-\"\274 \222\270\ni\325\244`\023J\264\227\260p\204Z\022hN\326\2072 \240\254m1A\246X\264\270\252$@\247\020\210x\263\200\034\242D\230.l'\225|\020\313\014\372d\222\305\030\250\213\030\252\257\263\340\330\344\346\307]\327\251gs\237\001\302\327\334\325j\3340\315\004\031\212\377\305\334\221N\024$\017\214\264\261@"; - PyObject *data = __Pyx_DecompressString(cstring, 3853, 2); + const struct { const unsigned int length: 9; } index[] = {{2},{35},{54},{37},{60},{24},{52},{26},{34},{33},{45},{22},{15},{11},{179},{37},{32},{1},{1},{1},{1},{2},{2},{1},{8},{5},{6},{17},{15},{23},{25},{7},{6},{2},{6},{35},{9},{30},{11},{50},{39},{34},{8},{9},{7},{20},{32},{22},{14},{30},{37},{5},{10},{28},{30},{27},{50},{21},{15},{21},{19},{29},{29},{21},{20},{28},{22},{26},{23},{22},{20},{16},{21},{5},{23},{25},{11},{14},{14},{18},{24},{25},{24},{17},{15},{14},{13},{11},{8},{2},{2},{2},{2},{2},{2},{2},{2},{4},{22},{24},{2},{4},{2},{2},{5},{16},{34},{36},{8},{26},{28},{25},{18},{21},{23},{25},{11},{29},{31},{20},{2},{8},{2},{2},{2},{2},{2},{15},{2},{2},{2},{2},{1},{3},{6},{15},{12},{10},{18},{16},{4},{4},{13},{10},{4},{1},{8},{16},{33},{9},{17},{5},{18},{5},{4},{11},{7},{5},{8},{14},{2},{2},{8},{4},{5},{5},{15},{2},{2},{6},{9},{5},{4},{5},{5},{6},{7},{8},{9},{7},{10},{8},{8},{12},{16},{9},{12},{18},{18},{18},{19},{18},{10},{19},{9},{17},{11},{12},{9},{11},{11},{15},{1},{2},{3},{10},{9},{5},{25},{3},{4},{13},{8},{7},{12},{5},{8},{4},{8},{3},{9},{7},{3},{4},{10},{4},{4},{8},{4},{7},{8},{4},{8},{11},{41},{2},{11},{10},{11},{5},{1},{3},{6},{14},{1},{4},{3},{5},{8},{6},{11},{5},{14},{14},{9},{6},{10},{14},{7},{3},{14},{12},{11},{10},{25},{20},{19},{19},{20},{31},{23},{26},{14},{12},{10},{17},{13},{8},{5},{6},{6},{6},{1},{5},{6},{4},{4},{3},{12},{10},{12},{19},{5},{4},{7},{5},{5},{4},{4},{6},{3},{8},{5},{6},{8},{6},{12},{10},{5},{6},{1},{1},{5},{16},{11},{96},{77},{79},{144},{11},{51},{11},{52},{187},{2},{124},{113},{88},{384},{493},{110},{33},{14},{67},{66},{120},{107},{399},{111},{134},{169},{104},{11},{2},{73},{60},{56},{68},{81},{188},{79},{16},{11},{11},{2},{55},{55},{58},{55},{55},{55},{2},{2},{11},{16},{164},{34},{16},{16},{1}}; + #if (CYTHON_COMPRESS_STRINGS) == 2 /* compression: bz2 (4026 bytes) */ +const char* const cstring = "BZh91AY&SYL\221\205a\000\004\022\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\300@@@@@@@@@@@@\000@\000`\020\037Y\236\207\256\257]\330{c\336aN\324\306\006,\331\356\312\241ln\305\266\2008\036\000\000844\021\t\"?*x$\3654cS\302\237\224\3325M\206G\244\323\004\362i)\3456\215&`S\324\364i\244\364\023O\024i\246mS\311\251\372I\346\211\004\242\t\210\310&\231 M\245O\312O\324\332&\247\212fA\251\264\365&\0201\006#hC\002=4h\320\320ji\221\262\023\010\r2i\020J\237\225\037\252z\236(\323\322\030\214j\r\0001\000\000\r\000\031\000\000\000\000\000\000\001\232\222\236\222\236\232\217(h\r\0314\r\030 \000\031\0004\032\003j4\000\032\000d\310\032\001\240\032\002\r10 \300\004\323M4\300\004`#\023&\0010\000\021\204`\000\021\200\023&L& H\220!2\023F\246dMO\024\362bi<\2420\203FC@\000\000\000\000\000\0004\000\032\036\247\215$\027\245\232\364\330\210\320\363\316b\233Sh\250/\250\322\033@\320\310\254{\270\271\271\355Z\346\034\344V\211I\302qYh\335\347\004\216\264:\020\336\014\010\306<\341\022\207\261\021\205\207\355\376\036o\235\351z\036\207\263\355{\335\226|\235\257\233\347\355\354\351\3074\325\354\345\226Yc\247,\2612\313,\262\313,\313\357\376\272/\353u\273\033\377\016\007j\373\276\216\346\350\233\241\272\033\274\037W\323\247<\362\317,\363\313<\314\363\313<\377\350\205\343h^1\020(\2061\264\332l]\010\352\000\341\\!\302\270I\313\261*\204\221RaP\363\022\025(y\300\210\211\235\207\221Q\031$d\320\304\010hB@\333\000\020\200\000\033@\330\330\232\004\3300`\306\206\223V\265\346d\222\226%\375\327\251\333\021Lm+\261\025\305\260\004fhm\002lm\006q\207\260J\341^\223A\2334eA)\247yw\240\225hc1)\000y\243`\333\033\006\336{\244%\212\311\2416\206\304T\210\211\373+ \253M\203\304(\215U\316A\200\264\216b\033d \246bgMib\323`\214\353\272\023Jm\216q\032\"*\360\023\006\007\242\332l\335c \200\203\022\230c=([\214E\357\332^,\004\354DJ\355KRi;\241R8\211j$\235\021\374at\"\025X[{\207\302\003\\\212p9\311\215\312\0035\327`c\240\013\254\213\332\034_\031\2433\244\336\030c\352-$aZ\255\267H\2213EI\025\234\231cRR""\225\345.\234\3459\315\0311\252\301\204\347\0320h'\242\220\360\312\342{\023\214//\307\223a\337\333\376\220\n3\276\246`x\322L\330\356\312lh\361\202Hp\302\365ZU\374\245b\367\031\t}\260\260c\\\350)b/\251\322\347\346\356\237\327e\375X\302\024\037A\261\266\204\351EY\034\303\354\361\306\r\36320\325:,O\363\215\263Y\202\261\030h\222\246@a\332-I\345+]\217\276\256\253\274\256\256c\252>\217W\227\333\334x\205\330^ab\251w\035\327\257.s\207*\321\034\301\026\017Q\356\007&\374*qQ\021y#Ni;\302\225\026L\224\245\347\341c%X1k\241\033\244\207>$ !DB\346\021K\374\341\355+\244V\337>\001(\340\316\036wg]\020\264-4\032z\230aje\217>\313\016D\002&N\344\377k\252L\314\260\220\033(\367\227\352\tR\314\257\276\332\"S\243\351P\376\177?\021\265\007r\356\342\347U\302\376W*\005jUS\006\254J\034\321A%8\275\214\362R\200\246\341C\022\001\214&-\211gi\254\205lo\271\370`_\023g\215\034\367CJK\231\034\242\3419V@\313\253W\316\313I\300\252\350\270\203\3409\025Q\225+\007\301\265\326=\256\037\271$\215\322\355\300\013\237:vz\362\227\321\376\277g\323\212!\210& ]\212{F\243Ja\010A\007u-\267\367wv\366\366:\235\317\253\315\323yv\223\257\247AUX\244\r\306\354\252$\202&~;\370j%(\366\017y\342?\260\233\255\204\016\205\303\2109\300G\005\202'\313\316\000\367\214u+-\214[\214K\241 \007\255\232\340\006A\306\310\027\223\322G\177w=7L\350\345\255\216\021\021;\"C\017r\251\313M@Z\004L\311\243b\315\251\n \372\354\030v\024&J\323\307\035\200\\~*\330\202a\205\261\304\277\030\212\256C\271<\223\223\250k\306\230\230\343\320\263.\231\277_\002%\205\226\005\233[K\326\321H\204H\244Q6\323m\214\226\347{\226\336w\242M\020\211\312\224\255\321\010 \227\\|\265\010\203\321\033q}x\2565\025\240\327v\276^\324\357\336\377xlo2\224\313\246\324\313\374\260\311\367\321\311\243G\026\272nm\311b\220\216\247\017\207\352\303d\257eBo\353\335\036Y\234\371+%\246\363\rnb*\206\023\220\031^l&\255h9?\033\215\372\237f\000\331&\022\225z\272\2502\206[Z\246#\013E\247\365\021{\371\036\326\235\255q\013\243\003\220`X\006\005\305\311v\025\331ed\221$\022\220I\350y\032\243\265D+Jc""\307\016\030\367MX\034p\325\277\313\211r&\214\023o\274\244\326\034vn9\351\250qCN\242eca\306\321\266\324\237\245~7\025\337\345J\224\200\342c\033|\214\206\230\307\362\341(\227:\024\222<\007\010\364\007\236^f\367\013q\260\303*&\244\013\356>\256S\216\024\253\026tn\304b\331\230T\254\270\235\035\304\364\025)CE\322\276\252E\324m\344\252\000\366T\272D\331/X\"\226\254T\212\214\357\223\014\361\025\2465\330\350\301KN\024\230F\247\002H\270\211\010\005Zf\004\033\010\201\246\345\211\020,m\211\263H\232\300\334\334^I\001\243\212\232\323\354\271pm\262d\221z,\255c\014_5\003\373\264\221\222\205\307n\004:\274\323\037\271\2402e\276\244\303\312\250\372\320A\350\253\351\242z\275+H\326\006n\r\036%XD\027a\372O\342\001\270\272\000\236\230\024+Ccba\013\025\345\215\274X\240Z\326\001\r\271\274\273\304\001\276m\226\036\244\\\261\004>\304\272\273R\353\027\373\200;}jVa\025@\310\037tC^\306q.\333\234;Go\230\316\343\203w\346\036A\344O`M\007f\336\212m\346\030\336}K]\375\034\376N\017 \345k\277h\007\222\357\304![Q\r\003R\001\350\0344]$RJz\200p\347\2571\317,;\257\327\351\232\313f\270\337Gl\022a9\276\n\224H\320\014z\002\032f\347\225\250%\247>7\214A\304\266\3556\234t\336\300\032=\376\230nKI\222J\024\341\220\230t\310\222\2252\353\267\tD\336\301\221atFp\2330A\203\004w\324\2348\023c\020\035\32525\353\032\300\327\021\277\010i\335\376\361\022y\364w\222OM1\274\246\366y\313\356\271\251\231\231\021\033f\t\220Xg\200Y\331B\031\000f\000&\312c\026\304\344\252\356HR\211-\24666\302\324\240\253\2069\211\027\301u)\272\220\263\204\255U\372\006'\203Z\333ij<\312\261\323\021\203\035)\"\017\271\321\253\260\301\267T\370Ai\013\252*G\336|b\246\330\344f\211_Z\235\222\310-\010SRi\337\224\222\332o\355\343\326d\010\301,\264\035\365Za\345\272\006\246\032D\334\316\030\210\200\260\263\252\010C\225j\n\302\321\312\312\253+\214[\010\336\3039N\301\355`\032\227;mz\2522(\371:T\r\356b\256\223w_II\216rJFu|B\2762\035\n=\301\260\033%\346tt\360A\224\030\340\332w\357=\241\2647\273{9X-\263\033\200\201;\003\233o3\314\314\221\254\201C}\021\274\356\254\260\250\345\001J\302I\261Z!\006\026\363l\274\361\267\231\220\322.D\230Z\362\351\261\260Df!^\214.\243\337\240\250o#\250H\236|S""\320E\213\332m\203\031\223\315\216\0021\243\302d\347\205\022\355x_A\026qh\340Q~\322#\203\201\013\234\026\303a\260\347^\211\323eb\335:9\274\\_\251\007x\324\221\255\313\200\356<\306N\235'~\347\323\007\023k\261\207\243\025\310;8\200\351\227\205e\274\035x\322%\n\240.o\024\216\0208V\316\355\355\323A\251\230.\274\000Tj9\316\265]\367\321\332\226\201h\016S\301\3409uiH\300\310\207\242\342\343\203z\272vA\006\266\221\361\236\312M:6\n\332p\346\250\316\027\310u)z\024\231\232\262n\271\240Ag\204\367&/N\344\"\365\205D\274[r\354\356\343\r\327\252\2058\245\"F~\362\35378\305SeJ\264\352O\007\301\310\267\227\322\0275\250\302\230\211JsR=\3515\360Mc\210\020\t\007\240B\020\320\r\210@\320\006\032\310oF\331\336K\014\262\023X\262P\340n\004\rjS\010p \314\253\3656\354\n\314o\361\253X\r\364\325\312\306oQb\033\325Xl\306m\206)jHD\030\351\222I\000\326\003srC\3537\210\262P\345h\330\325\007\312\325+obXT\251!\274\274\254\274\037\024\251*YRK\367\177\222\240\204\213\204\206\r\250\001\265{r\2517\346\366\344*!'\332\037V\362H/=C\270\233~\334\235\240\266B0\246\020\025\321\002{\3251\236\033\373\204' -\014b\352\242\006Y`\367\233\017\241\010\261\331\277\244\203#\330a\240)X}T\230el\204\361\220\232C\240\025\2016\332,\242(\030\037PM@\235&9\206TT\024\310\003C\3133Q\234AL\213m\264\\\014\026\035W\023\341L\004r\207=#\342JWl\n\252\273\347\335\rt\340\203\"\236\277\267\220\025Q\254\210\241 5\006J\200\314\341>1N\253\305\324\t\314\337Cw\232A\220\206-\r\356$/\017H\234\021bC1cQ\244\260\302H\350\253:\242f\210w[\0038WX8\020\207\013\272\356\347N\200\341?]\214\340\252\206\001\204\023\014\231\326\256\241\02369\326\340H?\r\204q\235\035P\214\317^Z\220\326\315N1n\310EQ\375\215\201V\"*\326C#\221\240\020(TT\000\341`\033F\3468\345\020\235m\346Bf\337&z\005*\346=Q\371+\236\322 \007\021\230D\0368\223n \201DQA\257\000\205!6\030@\307\033\020\\\315\223\002,j\310k\020\252\320] \342cO\224\303`\265\347\267\206\262\261U\310\014/\240\324\204 \351c\323C\010\001\212\206\2435\223\351S\026jkSBV\266\230\037/\312\201\001B\252 \250\212\264D\017\212""\023\3003\313\322\364\321\324\370\270\365*\017\216\023\032\207@kUE\244\3455V\2644\023\224u$\216L\312\315\006(\317\223>\201\037\234\014\211\303A'M\234\203\202{(1\267\035\220\371\204\t\225\275<\237\354M\023\202e\365\211\367\034B\333\031c\"~\210A\336\372\307p\270.\207\220\034\277\250\260\307\337r\207\335n)\367\007\204~8c\3270\033\030\241\227q\014=\253\260>\3512DX@\222K\343VX\355\313A\252\343[\204%K\022\320n\260a\r\314Yt\260\274\2757\372\213+\305\373\215;\374\034\035=<\001FI-\365\366\000\313DY\367\267\310/\276[\"e\363\375\256\376 -W\303\375\237\007\332\220a^\354\356y\251\353\257_'\354\272\271\323\267\263\242A\351\267\227\354\355\231\371P)\263A\003X\236\235\312\344E\354)\204?[\201(\356oqTf.O\314\013\274\033\312\361^\007HW\215\225yQ\252\350\257\360\360\002\270\225\024y\262{SE\2573h\0136\266*W\322\372;\022\244x\2533\257\207\243\2131\2779\024\311\216\253\020^\032{\353\274\2365\343p\304`\"\366\310\023\210\276v\310ZU\246\341\212\023Us\021!\314E\342&\000\270\240d\251\251,;\240\031\360\025\034\022\266\010(\030\020\303\301R\026h\242\360\233\020n*\251\331X\320w\221\305X;\320\267x&e`\001\253)\275\014CqM^\367NB\022*\316f\034\250\273\231T$\310\233\233\323\264EP\223S\005\013X\220\305 \304\220\235\320\001\026\321\023&AMQ\214f(\251%V\245l\330\003\0040\020\201\214\000\014N<\217\227+j9\250\223\2475ASzR\032\030.!\220i\325\237\376.\344\212p\241 \231#\n\302"; + PyObject *data = __Pyx_DecompressString(cstring, 4026, 2); if (unlikely(!data)) __PYX_ERR(0, 1, __pyx_L1_error) const char* const bytes = __Pyx_PyBytes_AsString(data); #if !CYTHON_ASSUME_SAFE_MACROS if (likely(bytes)); else { Py_DECREF(data); __PYX_ERR(0, 1, __pyx_L1_error) } #endif - #elif (CYTHON_COMPRESS_STRINGS) != 0 /* compression: zlib (3846 bytes) */ -const char* const cstring = "x\332\225XK{\323\326\326\256/\024S\\\210\3014@z\212\034\322\004Jpq\260\201rI\217!\t\344\264\004\034\0078\345\246#K\262#\"K\266$;1p\316\3070C\r5\324PC\r=\364\320C\r=\364O\340'|k\355-\337\003O\372<\261\266\264\367^\227\275\326\273.;\267\231\373\265bQ\324\230\272$\3562\202*\352\214\242\032\214\270WQu\221\321\rM\022D\375\001\2470\252\"7\030^\0239Cd8\246@\211\214m\316`$\235\341U\305\220J5\265\2463\222\302\224\305\262\2525\222@\205\2548]\227J\nc\250\014\020\013W\t\037\272\003E\372\233|\306\273\232dp\005Y\3647P\245\212\232Z\376\032\255\244\010\342\036\263+\031\333\214\321\250\210\314\202?oh\234\242\223c\014H\3506\240\2204\2217\030A*\213\212.\251\212\276\322{c~\026\360D\310\200nZ-W\214\006\243os\300\332\250U@\271\242\2521|\303\330V\225$\247i\\c}\222\035\241\327k\225\212\252\031\242\260\256\3249Y\022\230\262*\210\213h[\330,\n\314\002\277\300\000\253\005\340\207\272.,2%\240\352m\246\022\301\234\334\036\350s\36719\303s<\203Zd\036\253u\361RE\022y\361\336\206\n\206#\216x@tB\355\005Q\226\n\242\006&\005\203\241\023A\036\361\226\302<]}z5}+\315p\212\000F}\007\232\350\240h\201\227\301O\340|\340]\250I\262\001r\321\230z\222Y/2\r\265\306(\"h\014N\254\300\276a\002c[T\030]4\360\205Y \226\347\0140\001\013\344\222RZ\360\255(\325E\244^\343d]L>\251\031D\220ZS\004\020\251\364\340\304\361\274\010\334/\221\023?S\010\022\200\010\320U\0275p\264!\226\361[-\240\332\311\345\205\313\213\314\345\313\277s\202\300*h\004<\022\003v\270\266W\220\325\235\232\316\226\032\345_yU\023\177\365\277}\247U\032{\274*\313\250\025\270*\311\025\370\273C\000F.T\347\345\361\351\036n\226\005IG\345D\242b\211g.\241\343J\0042x\02087x\331\020\025\203\304C\037\026\340\032J\"\340Qt\351\275\310\334\275\307\\\233\000\224\242\202\007\213\\M6\030\226\325D\241\306\213,\313\0105b\rEU\256\202G\353\022'\303*/)\222\301\262J\255\\i$Y\361!`\367@\036,D\016-*\302\236\320\000\263C\023$B!\"9T\3244U+J\262\\\224\271\222^\224U\316\200bX&O\354\211X\010:\205g\007\207\364\2176H\227\275t\321\313\225\303\tc\034\253}@\016#s2\237\034\220I&sH?\021Od_\026\355La\310\226\240D\261\330x\016%\033|\205el\014\307\262\263$\t\222\260\307\262\264\024\263l?!\221\026\027\277\261\326O\370\031\360\004\177\267\320\320}\344\365\222\227\237\266h\277\3417\035\262\244\003\2332\007\354\341\271\007\3351jX\226\024\354OaJ\025\300\357,QIA\273\263\376\023\372\030x\212\273\364\201.\301\032B\352\010\250=TO\024t\241\014\222z\306""\352u^\343\232+\025\000B\317n\370J\243\204\274\021N:\351XT\300\217Z,Bt\017y\023dV\240\362\356\020\222\2363)=}\262xN\222\251\311C\350\271\327\377\362U\353\027<*\320w2\234g\324\335\276:\025\265\302\262\320?\322\330\323AO\362\005\033\240\351\242\357\276\347\361\225\300\237\274\325\224\212\304\357\200U\007et|\201\004\375\350\334\252\322\023\320\237\302\02226Er\350AsC\005\341\240eH\321\343\323\203dJW\352\3446\206\t\004\254 S\030\014:\322\211d\334\237@\260jb\t\354\017\001\216\335\0035\220&\0325M\321\010\244u\314{\272(\203W\341\013U\301\007\025\001o~\377;\224\322\331\003\322;i\006\021\322\276\227HX\221- \271\242\033*\374\264\032\\q\320\2168\t\317mM\335\205\023\003rj\025h2\305\232.\366\031\017b\021\336j\364\241\3575\336\213\232\252{\341kn\240\0239\271o\230\367\354\200\035\373\024\350\204/\332){\315Ix\341\031+\325\215\034\353D\317[s\026\327\211\316Xi\253\332\211\376d\tv\242\023\375\301\024,\030\316Yq+\327\211N\233\325n\034\366[\331N\374\222\023v\262N\316\341:\361\177X9\240\214#GX`PBw*n\256\"\221\027\276\342\244>\177\373\315\261+\316\034\354\215\234\265\302V\266\033\211\356?\330\257\231\331N\364$\014\367M\036\266>\263\347\354\202\023r\322N\335\3157\217\265b\255\213\255|;\324Nu\246@.j_\365\302i\027\210\177\031b\325\211\200>\310\377\373\375U\363\214\311\301\316\350\224y\304|f%,\240E^\277\310\356'8J\344\242\235\366\026n7\023M\237\265\257\354\224\0316\327\254Y\340\270e\237\261\005\347g\247\352\206\334L3\324\004Qx\340S\326\022,\235\262\227\354\034\312^2\363\326\221\376\3012\356\021w\253y\256\225h\245[F\373z\033\364Ackv\034vS}2n\256\0339\276\177\307,\001\233\030\010\364\246\320\234?9\272\233p\323\336\315\177\265\023`\017t\244w\232\230\033=9k'\354\033N\314\013\337t\253\335\010\272\352\255\223r\262\310(\r\036\277cq\326G'\325\211\2366Sh\370?\314\252\025\005GQ\211\204f\0264\334v8\247\212\326L[\357\235\363n\312]i\006|C\334i\246\232\331\317\0214\304\2329o\005\254\031\373\276\315;1\264\315I\357\304\005k\317\256:G\0348\304\211\375wp\340\034.DA""x\335\004\320\2342\177\305\243\2342\223v\000\027\346\372,;\30300\314\033\326y8\322\003[\007\177\010\356\274\017\0010\344\017\3466\240q\026\226\252\304\035^\024\021\227\375\224\375\374\035\225S\305\303\245\001\234\300\360_\246\010\000}`\031\366=7\350\002v\301\257\336\217\213\316}g\333-4\303 \225 }\333\346\354*\312\375`\375b\2578ao\361n3\333\004aq/>\017\370@\314Q\337?\266b4tR \360k@\326\314\323\346\n\034\177\213@Lp\022\235\251sV\314\272\010\000HP\213\334!@\317\365\375:\343<\004C\303A\016\347\202\341\367nd\316\376\303\321\334\030\265A\306\374\0260\363\334\246n\036\001-\252\2366\353\326KpR\310I\365OF\035\364\332\216a\234\373D8\367_k\305\016cj@R\335L\000\361{\3734\032\037#\2763u\3012\274\213\000T\227C\314\257\200\031p?,#\234\277\024/y\373\210\235\007\214l\271g\\\276\031\303\340\350\351\024tf\235\025p\325\254\013\311c\3324\254\033\3669'\341,9\233\216\341.\271\233\256\321\274\336\344:g/X\276\3327\314\030\315O\363\336%\342\264n\364\014\002\215JK\014\363\016\003g\014\272x3\337\n\220D\325\211\237\241&\241\206\350b\024\214\331\237\261\203\366\274\023p\342\316\333\346\215\0268\377\222\023@\364_q\256\2006\325\317'\360\204\217\210\250\350\005k\027\200d8\267\3357\020\327)\032s\004\366$\332\350\327\033\373\242\275\345\374\340\220\324\024\205$\003v\333\260\347\274\371[\315\000\330\202\034\372\016\260\371\350\246\335\377\265r-8\354\217`\263\267\316\300\2333\000\331\2427\207\0043\255\373-\016\201\367\247\025@\206',\301\233\205D\346\346\360D\206\265\354\304\020z\t;\356\375\374[3\326D\354\305\316\003\210\211\267\276\305LM\255|\036\262\304\212\033vW\301<[\255\323\255l\347l\002\"\365\3549jA\360\347\231\356\301l\036\2305\313wV\332\252\333/I\032LM\222#I\2348\3435Q\212\3160P_\006L0\216\326 \270\263\004\037y\342\2563M\036\354~v\246\317\035\321\261\322\0146g!\010~\004\000B\276;\007\031\221\242c\251\271\3314Z\327\301l\314\257`c&\201\232UA\221nO\221\263\220\263~\262\017t\266\357\333\303:\364@\253\243\224\017\220\204\357\002`\227!i%H$\370\t\366\262\023\353\366j\313\0019\302\303\364\2151\374=p""\376\316\276L|\022\360\243\326\233^\000\020\0070\003\3124\207L\355\023\020}\017@\276\300t\351\333'<\301\221\023\373[\346y+\355]\270\006.\375\003\014\222\352\204\243\373\017\315\024\234k\021\022Z\370\350\247\372\376\013Z\224;\221Sf\242\023!\370G'\376f?\204\352\024\002\3705ZG[U\334\213\005\327;\231r\343\020\350\245\346\253\366\3216\232ox&\320\227\353\305 /\331\273\220\264\023\207\226\351\315,b\362\033\210\232Gk87\335+\315\027\255lwt&7$\312\007d\334\273\367\244mx\371\222W\332\361vtO\337\375\374\3157{\201\325 \014\253\301u\034\326\203/px\021|\205\303\253\240\214\203\034\254\340P\t~\304\341c\360\237!\030\376\031\332\300a#\264\211\303f\350-\016oC\005\034\n!\031\0079T\301\241\022\252\206\016o\327\337\235\005\222\357@\331\247\336\323\027\336\213\327\336k\326cy\2177<\343\003\312\017dQ\215lp\005\207\225\340#\034\036\365\024.\340P\010\226p(\005\337\341\360.\250\340\240\004k8\324z\247\310\242n\331\320\n\016+\241G8<\n\345q\310\207^\342\3602\304\342\300\366\316T\304\241\030RqPCu\034\352\241\335\320\300\035W\240\017\253\272G\335\017\255\205v\254;:\223\030 n\232\000\373\320\006\271aO\223 \017\273\353\350\346\277\357\3759\250\325\307\001\247\357[\361\326[/\017&}\343\275\341<\256\3607\200w\325y\0019\357ts\245u\254=\355=\315\r\264X\304\330s\247\233\307[7\333\211\356\350LjL\213\223\220y~o\317\265\025\357\365\177\274\377p\207\267\301\2623\rI.\017\255\310F{\301\313=\367\236\377\345\375\005\247x\347\275\253z\325\272Wox\215\377\202?\376\027XC\347\256\005\037\343\3608\270\021\034(z\031\212S\316)\271\2570\\\273\2433\303q\211\211n\007\"\026+`\356\260*\016\305\377\317P\267b\000\342\231\346C\314\205#3\244\367\204\354\346\314\273\001\013\272O\310\244\243\2754\346\316\245\375\247\024\324\254R\206Ia0r\"\3441oi\302\323\205\247\227\3237\322\202\244\345`\324w\320\304\200\242Y\271\000?\301\371\340\235\255\250\005\023r\311\230\306\264\260\270&\324\364\212\240)\320\030N,b_/\201\271\256h\202\241\230\364\"L2\313K&L \202\\\325\362\223\201\025\325\252B\324\367\245\202\241L?\251\230L\220^\321r\020\251\265\341$\311\262\002\356\027\330\211\237i\014\t \002\272\252J\031\2166\225\r\372\326\263\244\366\364\334\344\305)\341\342\305_\245\\N\324\310\010t$\001v\270\262\225-\350\357+\206\0308\251X\333\222\365B\201\264\200k\246\245\254|\273\007\260D\305u\234\033\234n\343d.\247\032\244\214\302T\312\313\302\005rT\236A\204\024\3079\341US\321L\206\377\016\014\340\nN\222#\325\r\365\203\"\334\276#\\\031\002PA5L\341\243\360X\327\024M\207\363\326\244J\301\024D\261\254\344*\262\"\212B\256\302\014\241\351\332e8\263\252J\005\254\312\252\246\232\242\250U6\212\265iQ\326\313\312\364\006\350T\306RX\223\324\002\367\230\272A(\354\335V\331\220\020\005\203;\002\273\316M\001\224*\316rgJ@\364\334\271p\233g\201\\\237\245\206\347\010\312\035\203\365\255\367\317jyC\257""\224ee\256\322q\260T(\3502K,L\365\234dJ\323\273\254\362\210 \216A^\232\316\254\334[\\\274\313\234\375@\332P\272o\323\035\343q;\213b\337\032\360j\000\246\273\257\312\353\212\374^\314\343]D\224\225{\227\362\212\306\242J\224\030\226D\243(\311\312\364m\322\257`\314M\323\362V\261\227B*\026\0135q\003|z&e\275X\353\371\314+f\300o`r\200\214\246\212\005\010\314\221\027\241\210\261\373\242Q\252Heep\321 \317\017M\222\021\006\346X\366\t\024\032\334\277\251j\003r\327%#\240 m{WTcW\033\302BL\323Z\337,M\014\236\027\352*f\317wW\314]]*\347\330c\027?\007\323\303.f\013rA\221\312\301+i&\34597v\rQ\241\222\323\371Z\253\264\265b\016^(\024\324\242\241\032\367g\027S\2133\213W\027\323\213\263\177\246\377\234\245\222@\377\303&\tf\207,\362x\2262\316\223\364\323\331\247TI\330\343\t\013}\226\301\007\277\207\031\357\262cH\010\333\263\242\230\355\361\013\\\370\312\027\251\271C\272\222\214\276\205bG\375\276\031Q\315\261\311/\210\334U\036s\330\n\315\365\274\356\302\240oq\210\r6\324\266\360?\217\302+>\006\342\227\225\265\225\364\212R\252(\232\254\254\246Wg\237\315>\277\372|\226\312\371t\267\262\277\230\375\347\354_\263/gE\224(\036\200\355\334'\362\n)\212A\201EQ\350\246\026\311\250i\262\252\003\320e\275\202\312\255\030R\025\271\235\362'7\204\221\225\014%\253jf_]\314\022\246D\252JY]/\310\262\2441n\203\371o\360{(\335\241\022Q/@\247\346/p\000\325;\372D\260\311\005h$\002\344\350qd%+\311\357\345\002\2322J\202<\220\304r\005\265\231\307\224\214@0\333\201)W\312e8<\210\"yK\256\211b\216,\312\237\364\310Q\223\302\036\"\"\205\027\260\334V\256\0063\243\327RP\364X\276V\312e\275\274\246\026\nk\005)o\254\025t\311D\r\336`Oj\275D\004\231&\213\335C\006G\353\246\346vzh\347\345\336\0041\210\315\016\000{\2218\234\275\207S\366p\216\331%\273\014\347\225nz\017r\272\226#\317r\327w\322\374Pn\357I\350\"\371\214CX\314\243\264\212\324+\367$*z\3052\365\262\003\t_UsjnK\024y\013!\212\235d\306\272r\372\246\036e\0103\300\"\376n\220\323:\250m'""\276 \345\365\326\017\336>\005=\024uK\242\270!A\024\236[\370\343\247G\227Ojo\250\032\365\331X\323s\000\226\310\364\324\210\223\030<\321\237\341\251l\362\007\t\241\242\304\n\023\316\322S\2404\302H\001\"\333\226nw\224\203\307\321\212@Z\333\256\364\312m\317\336\030'\203\265_:\000\252\257\255!]\364\300\0052\213h#\336\0271\022U\0330\234\005\177\212tf\206\225~\010\365\303\247SD\271\314\000$8R?\\\002\215\212zQ\024\321\032\363\3706\240*\373\302\0064\221\374=@\004\275\262\020co\025\255\250\312\357a\330ni\036\\`\211\245\177nAk\013\350LQY\032\230byy\267\271\236\"\263\3332\322\376\340t7A\363\225*\273XR\222\202\025\n\034\t\335\016{(\301w&\010\304e%\017\373#\211PG\302\rTV\314JY+3\250\033<\370\330\303P\n\360/&I#zpIx\013\332\372\236j!\356R9X\217K(\017\234\305\242\216m\201\002E\303\324\361_\256\340\322F\346\244I<\327\313\372&\016\016\014\341\311\020Q)\242\207V*\206\322\021\320\rY\274U\370\303\330\252}P\312\272\341G\257x\241\346\310\221m\323\272\343\204\234\370\247P3z\336I9\367\335\244\037\035\263S\255\221\003\315\330\031{\334\226\232\2611;m\227\232\261\037\355\234\223l\306NX9\033\303i;a/5c'\255R+\201\375v\246\231\270\340F\335\214\273\344J\315\304\017\366\022(\023\304\021\013\002Ih\215&\254\005\"\362\243\227\334\324\347o\2779p\311\035\307\336\221Sv\324\316\264Fb\333\367\266+V\246\031;\202\341\256%c\3533g\334\311\272\0217\355V\275\225\372\201F\274q\276\261\262\023\331I5G!\227\264/\371\321\264\007\342\237{X5G\240\017\361?\264\275`\035\267$\354\214\215Z\373\254gv\322\006\3451\353\027;c\2578\021\347\252\003\025\317\330\223\316Q\366\372Ev?\342(#\347\235\264?y\263\236\254\007\254\003eG\255\250u\337>\007\216\253\316q'\347\376\344\226\274\2107[\217\324!\212\016|\324\236\301\322Qg\306Y\"\3313\326\212\275\257s\260Yo\237\267Z?\335H6\322\rs\347\352\016\364!c\227\235\004v\223>\237B\255\350\301\355\364v\311\n\371\321Yo\2515rp\373\226\225\007\3078d\373\243d\331\037]\303Kzi\377\372\357;I\230\206|\352\037c\226'\247\236s\222\31657\356G\257{\245\326\010y\355\255\233r3\304(\r\347\337\262%\373\243\233j""\306\216Y)\362\301\037V\311\216\301g\334\030\214\346\034\224]w%\267D\206M\333\037\3343^\312\233\257\207\002\233\334\252\247\352\231\317#d\223\373\326\204\035\262\307\234\273\216\354\306\311LG\374\303g\355-\247\344\356sq\236\303\333\357p\366%Z\210Ax\325\002~\216Z\377\240\243\034\265\246\235\020-\214wX6{\021aZ\327\35438\322=\307\200kr\336D\200\006\330\364\204\265\016`\236\303R\211y\306\217\021\3702~\364{;\363\371\3607\007\276\007\030b\244\335\357\004\334\026!\226\334\266\337\2520\247\235\301\341G\311\321\277;\357\274\220\027''\315\332\337\332\262s\302)\021t\367\301\025\261\004\234L8!\347\037\032\3356\254\244u\315?=\345\336\203UFO\333\361\026N0i\307\021\030\314k\231\317\337\3613\226\310\260i\304\010\016\363\273\245 N\356\331\246s\307\013{\010!H\365\277\237r\357\272\353^\266\036\305\211Y\300\255;\022\004\343\314\177\333?;\363n\324\237\272]\317\324q\320\204\237\230\000L\t\372\034\202\217\3548\217\340\024\004~-\236\312\3261k\036\246_eH\317\271I\246\263}\0368Lro\334b\361\266\324\301\324\230\373\000N\316|\312\354\315\375\275\357\255\221q\347\017\267\354\305\271\rf\255o\201\327\347\016\207X_\354\220\352i\253j\277\004@\"n\252s2\016\216\327N\234\322M@Ds\377\266\347\235(e(\"%\027\244\255\017\3161r<%\236\346\350Y\333\364\317#H<\211Bo\036f\240\375\367\310\215\235\2140\024\266+p\360\n\360\271\352\035\367\344:s\177[\247\260{\316\235\207\253\316y\310a'-\323\276\346\234v\223\356\214\273\354\232\336\214\267\354\231\365\253u\251y\352\254\035\250}\315\212\36349\341_`Nk\305\216\023\310\271\264d/\357(8S\354'\352+\215\020\313\227\315\304qn\022n\210\026\007R\237\375\005'\354L\270!7\341\276\255_k\300\371\027\334\020E\336%\367\022\264)\021\332\017m?d\242bg\355M\000\311tozo\220^R<\336Y\310\261H\347_o\234\363\316\252{\302e\021\021C\256\203\335\036;\343\376\304\215z\010\266`\207\276\0056\037\275\264\367\237\306R\003\207ETQ\006\3518f\014\220]\363\307\211`\254q\267!\021\360\376\264C\304\360\260\235\363\317!\237zKt\"\323\236s\343\004\275\244\223\360\177\372\245\036\257\023\366\342g\000b\346\255o""\251`p+#&a\236\250\267\000\363\2546\21652\315SId\211S\247\271\005\341\317\343\255\335\331\334\243\250\346l\322v\325y\311\262qj\230\234H\022\314\031\257\231R|F@\231\3532\2418\272\217\304\222a\370Xa\356:^\227a\367Sc\035\356\204\216\371z\270~\016A\360=\000\210\\{\032\331\230\243c\246\276\\7\033Wa6\341\037\260\261\220$\315JP\244\325V\344\024\362\345\217\316\256\316\016|\273W\207\356ju\222\3627\n\300m\000v\016\t3\311\"!H\356\027\335x\253]\342v\311\021\244\016+%\223\200+\252\017\n\tE\364!\310\371\316\271\310<\024\nb\330?\311\366P..\360\2142\272\315 u\010\260>+\264\370\233\037\005\312\333u\007MG\2408\331\362o\270`\344\007\304\"\372\004\246\235\025\266\306\221\222\216\333*\030\217\300\2073h\000B\237\310\"\373\016o\257Zg\354\264\177\366\n \362\007\014\234jFc\333\017\254\024\3544\205\004\031\335\377\251\272\375\202\367\032\315\221\243\026X\263x\"P\374\342<@\321\215\000\316\265\306\376F\211\366R\037\341\037Iy\t$\216|\375\325\316\376\035rG\357LW\256\037G\236s6Q\200\222{\226\351\217MQ2\355\212\232 \353\272\327\275K\365\027\215L\253\177f\251GT\000\360\204\177\347\311\216\351\257\344\375\374{\377\275\341\033\233\237\277\371f+\264\020\306\260\020^\244a1\374\202\206\027\341W4\274\n\027h(\204\2134\024\303\037i\370\030\376-\202\341\267\310c\032\036G\226iX\216\274\245\341m$KC6R\240\241\020)\322P\214\224\"{\267\353\257\356$\313\237P\366\251\377\364\205\377\342\265\377Z\364E\331\227M\337\374\233\344\2072\244F&\3378\260s\322\177\272\324\325b\212\242\327;Y?\330\270\276\223l\365\317\244\006\2648\202L\366\353\316\370\216\346\277\376\227\377/i\3576\230sO\"i\256\240\265y\2743\351/=""\367\237\377\345\377\205S\274\363\337\225\374R\325\257\326\374\332\277\341\217\377\204\356\223s\357\207\037\321\360(\3748\334U\364\"\212\335\222\233\367^Q\270\266\372gz\343\222\022\347{D,U\324\245\275\252\330\023\377?\241\016\306\001\342\261\372\003\312\255}3\254\217F\266t'\274\220\215N\032\367\001\236\306J==\r\277j\230\310\256,'\336@\253w\327~Gu\336\277\362[#\204\252\301\357,\261v\333\206\014\214\024\337\177\327 \2663\333+h\027H\333e\333\300\251$\022\322{e\371\377\321\206\002:jV\373\350\366|S\352V\2163\350\243\007\356H`\273gF\324\354\200Q\225]\205\226m0n\275\242V\207]\0171\370G'\350r\014\270\274\253\007\355\323\035\\R\356\262\237\003xO\305\272\250v\017\336\302\227\006K\201\301Eb\327\271/O\321/3\243\326\210\275\237<\356G\341\261\316\325\177\006\251k\314\233\367o,\356$vV\375\245g\376\263\347,c\364\374\340\303\372?\376}\235\200\371\344\377\000\022\3677\342"; + PyObject *data = __Pyx_DecompressString(cstring, 4060, 1); if (unlikely(!data)) __PYX_ERR(0, 1, __pyx_L1_error) const char* const bytes = __Pyx_PyBytes_AsString(data); #if !CYTHON_ASSUME_SAFE_MACROS if (likely(bytes)); else { Py_DECREF(data); __PYX_ERR(0, 1, __pyx_L1_error) } #endif - #else /* compression: none (8220 bytes) */ -const char* const bytes = ": Buffer view does not expose stridesCan only create a buffer that is contiguous in memory.Cannot assign to read-only memoryviewCannot create writable memory view from read-only memoryviewCannot index with type 'Cannot transpose memoryview with indirect dimensionsDimension %d is not directEmpty shape tuple for cython.arrayIndirect dimensions not supportedInvalid mode, expected 'c' or 'fortran', got Invalid shape in axis '), ))?add_note and at 0xblokus_gym/core/blokus_cython.pyxcollections.abcdisableenablegc (got got differing extents in dimension isenableditemsize <= 0 for cython.arrayno default __reduce__ due to non-trivial __cinit__numpy._core.multiarray failed to importnumpy._core.umath failed to import object>, orient=, pos=(unable to allocate array data.unable to allocate shape and strides.ASCIIBlokusGameBlokusGame.__reduce_cython__BlokusGame.__setstate_cython__BlokusGame._check_game_overBlokusGame._generate_action_space..genexprBlokusGame.apply_moveBlokusGame.copyBlokusGame.get_actionBlokusGame.get_moveBlokusGame.get_stateBlokusGame.get_valid_actionsBlokusGame.has_valid_movesBlokusGame.next_playerBlokusGame.play_moveBlokusGame.resetBlokusGame.valid_moveBoardBoard.__reduce_cython__Board.__setstate_cython__Board.clearBoard.coverageBoard.get_cellBoard.get_occupiedBoard.get_player_cornersBoard.get_player_occupiedBoard.get_player_squaresBoard.has_overlapBoard.in_boundsBoard.is_emptyBoard.is_fullBoard.placeEllipsisF5I1I2I3I4I5L4L5MoveMove.__reduce_cython__Move.__setstate_cython__N5NoneO4P5PiecePieceOrientationPieceOrientation.__reduce_cython__PieceOrien""tation.__setstate_cython__PieceSetPieceSet.__reduce_cython__PieceSet.__setstate_cython__PieceSet.get_orientationsPieceSet.get_piecePieceSet.get_piece_idPiece.__reduce_cython__Piece.__setstate_cython__PlayerStatePlayerState.__reduce_cython__PlayerState.__setstate_cython____Pyx_PyDict_NextRefS4SequenceT4T5U5V3V5View.MemoryViewW5X5Y5Z5_abcactionallocate_buffer__annotate__apply_moveasyncio.coroutinesavailable_piecesbasebintblokus_gym.core.blokus_cythonboard_sizeboolccan_move_check_game_over_check_game_over..genexpr__class____class_getitem__clearcline_in_tracebackclosecopycorner_rulecornerscountcoveragecurrent_playercxcy__dict__dict_dictdtypedtype_is_objectdxdyencodeenumerateerrorfillflagsfloatformatfortran__func__game_overgenexprget_actionget_cellget_moveget_occupiedget_orientationsget_pieceget_piece_idget_player_cornersget_player_occupiedget_player_squaresget_stateget_valid_actions__getstate__grid_viewhas_overlaphas_startedhas_valid_movesiididx__import__in_boundsindex__init__..genexprintint8_is_coroutineis_emptyis_fullitemsitemsizelist__main__maxmemviewminmode__module__movename__name__ndim__new__new_gamenextnext_idxnext_playernormalize_squares_cython..genexprnpnum_actionsnum_piecesnum_playersnumpyoobjoffsetorientation_idppackpiecepiece_idpiecespieces_listplaceplaced_cornersplaced_squaresplay_moveplayerplayer_idxplayer_squaresplayerspop__pyx_checksum__pyx_result__pyx_state__pyx_type__pyx_unpickle_BlokusGame__pyx_unpickle_Board__pyx_unpickle_Enum__pyx_unpickle_Move__pyx_unpickle_Piece__pyx_unpickle_PieceOrientation__pyx_unpickle_PieceSet__pyx_unpickle_PlayerState__pyx_vtable____qualname____reduce____reduce_cython____reduce_ex__registerresetresultreturnroundsscoreselfsendset__set_name__setdefault__setstate____setstate_cython__shapesizesquaresstartstatestepstopstructsum__test__throwunpackupdateuse_setstatevalid_movevaluevaluesxyzeros\320\0040\260\001\330\010\017\210t\220=\240\001\240\021\200\001\330\004#\2401\240F\250!\320\004\033\2301\340\010\t""\330\014\032\230$\230a\330\014\033\2304\230q\330\014\036\230d\240!\330\014\026\220d\230!\330\014\031\230\024\230Q\330\014\027\220q\340\024\033\2301\230A\330\024(\250\004\250A\250Q\250a\330\024\035\230Q\230a\330\024#\2401\240A\330\024 \240\001\240\021\340\020\024\220E\230\024\230Q\320\004+\2501\360\006\000\t+\250$\250a\330\010\030\230\004\230A\340\010\014\210C\210u\220A\330\014\017\210u\220B\220c\230\024\230U\240$\240b\250\003\2504\250v\260S\270\t\300\021\300#\300S\310\003\3101\330\020\027\220q\330\010\017\210q\320\0044\260A\340\010*\250$\250a\330\010\030\230\004\230A\330\010\033\2301\360\006\000\t\r\210E\220\025\220a\220q\330\014\020\220\005\220U\230!\2301\330\020\023\2209\230A\230S\240\003\2403\240a\330\024\032\230'\240\022\2403\240a\330\010\017\210q\320\0044\260A\340\010*\250$\250a\330\010\030\230\004\230A\330\010\036\230a\330\010#\2404\320':\270!\2701\360\006\000\t\r\210C\210u\220A\330\014\020\220\004\220F\230\"\230A\230T\240\025\240d\250%\250q\260\003\2605\270\003\2701\330\020\024\220E\230\022\2302\230T\240\022\2402\240Q\330\020\023\2202\220S\230\005\230U\240$\240b\250\003\2505\260\005\260T\270\031\300!\3004\300t\3103\310a\330\024\033\2304\230r\240\024\240Q\330\010\017\210q\320\0045\260Q\340\010\013\210;\220g\230T\240\021\330\014\020\320\020 \240\001\240\036\250s\260!\2604\3207J\310!\3101\330\010\017\210t\320\023#\2401\240A\200\001\330\004\"\240!\2406\250\021\320\0047\260q\340\010\031\230\024\230^\2501\250A\340\010\013\2104\210t\220;\230a\230|\2501\330\014\023\2201\340\010\014\210K\220q\230\014\240A\330\010\017\210q\320\0047\260q\340\010\"\240$\240h\250a\250q\330\010\033\2304\230z\250\032\2601\260D\270\001\330\010#\2404\320';\2701\270A\360\010\000\t\r\210F\220&\230\001\230\033\240B\240c\250\021\360\006\000\t\017\320\016\037\230x\240q\250\005\250Q\330\010\016\210j\230\005\230Q\360\006\000\t\014\2104\210v\220Q\330\014\022\220/\240\021\330\014\022\220.\240\001\360\006\000\t$\2404\320';\2701\270A\330\010\014\210C\210u\220A\330\014\017\210t\2206\230\032\2401\240C""\240s\250$\250d\260&\270\t\300\021\300#\300Q\330\020\026\220h\230d\240\"\240C\240q\360\006\000\t\r\320\014\035\230Q\230A\200A\360\n\000\t\014\2104\210q\330\014\023\2204\220q\340\010\014\210J\220e\2301\230C\230t\240=\260\002\260!\330\014\030\230\004\320\034,\250B\250h\260b\270\004\270A\330\014\032\230$\230h\240a\240q\330\014\017\210{\230*\240D\250\004\320,<\270A\270Q\330\020\024\320\024&\240a\330\020\027\220q\360\006\000\t\r\210M\230\021\330\010\017\210t\2201\200A\360\006\000\t+\250$\250a\330\010\030\230\004\230A\340\010\014\210C\210u\220A\330\014\017\210r\220\023\220D\230\005\230T\240\022\2403\240d\250!\330\020\031\230\021\230#\230U\240!\360\006\000\t\014\210;\220c\230\024\230Q\330\014\020\320\020 \240\001\240\033\250G\2601\260A\200A\340\010\"\240$\240h\250a\250q\330\010\033\2304\230z\250\032\2601\260D\270\001\330\010#\2404\320';\2701\270A\330\010#\2404\320';\2701\270A\340\010$\240K\250r\260\021\360\n\000\t\014\2105\220\006\220g\230V\2401\330\014\023\2201\360\006\000\t\r\210C\210u\220A\330\014\017\210t\2204\220v\230Z\240q\250\003\2501\330\020\027\220q\360\006\000\t\014\2104\210v\220\\\240\021\240!\330\014\023\2201\360\006\000\t\014\2104\210}\230D\240\004\240F\250!\330\014\017\210s\220!\2204\220z\240\023\240C\240q\250\004\250A\330\020\037\230t\320#5\260Q\260a\330\020\024\220D\230\004\230D\240\004\240C\240q\330\024\033\2301\360\006\000\t\r\210C\210u\220A\330\014\020\220\004\220F\230\"\230A\230S\240\005\240S\250\005\250T\260\025\260c\270\021\330\020\023\2204\220v\230Z\240q\250\002\250\"\250D\260\002\260\"\260A\330\024\027\220t\2306\240\031\250!\2502\250R\250t\2602\260R\260t\2703\270a\330\030\037\230q\360\006\000\t\014\2106\220\021\330\014\036\230d\240&\320(<\270A\270Q\340\014\025\220Q\330\014\020\220\004\220F\230!\330\020\023\2204\220v\230Z\240q\250\004\250D\260\005\260T\270\024\270S\300\001\330\024\035\230Q\330\024\025\330\014\017\210t\2201\330\020\027\220q\340\010\017\210q\200A\340\010\"\240$\240h\250a\250q\330\010 \240\002\240&\250\001\250\024\250^\2706\300\021\330""\010(\250\001\360\010\000\t+\250+\260R\260q\360\016\000\t\r\210H\220F\230!\330\014\037\230w\240a\240t\250:\260]\300!\3001\340\010\013\2104\210v\220Q\330\014\023\2201\340\010\013\2104\210v\220]\240#\240T\250\026\250q\330\014\020\220\014\230A\330\020\024\220N\240$\320&8\270\001\270\021\330\024\027\220t\230;\240a\240|\2604\260~\300Q\300a\330\030\034\230A\230^\2501\330\014\023\2201\360\006\000\t\033\230$\230f\320$8\270\001\270\033\300B\300a\340\010\014\210L\230\001\330\014\020\220\016\230d\320\"4\260A\260Q\330\020\027\220t\230>\250\021\250!\330\020!\240\024\320%9\270\021\270!\360\006\000\021\032\230\021\330\020\024\220D\230\006\230a\330\024\027\220t\2306\240\032\2501\250D\260\004\260E\270\024\270T\300\023\300A\330\030!\240\021\330\030\031\330\020\023\2204\220q\330\024\025\340\020!\240\024\320%9\270\021\270!\360\006\000\021\032\230\021\330\020\024\220C\220u\230A\330\024\027\220t\2304\230v\240Z\250q\260\003\2601\330\030!\240\021\330\030\031\330\020\023\2204\220q\330\024\025\360\006\000\021\024\2204\220v\230\\\250\021\250!\330\024\025\360\006\000\021 \230q\330\020\024\220C\220u\230A\330\024\030\230\004\230F\240\"\240A\240S\250\005\250S\260\005\260T\270\025\270c\300\021\330\030\033\2304\230v\240Z\250q\260\002\260\"\260D\270\002\270\"\270A\330\034\037\230t\2406\250\031\260!\2602\260R\260t\2702\270R\270t\3003\300a\330 /\250q\330 !\330\024\027\220q\330\030\031\340\020\023\2204\220q\330\024\030\230\001\230\036\240q\340\010\017\210q\200A\340\010\"\240$\240h\250a\250q\330\010(\250\001\360\010\000\t\r\210H\220F\230!\330\014\037\230w\240a\240t\250:\260]\300!\3001\340\010\013\2104\210v\220Q\330\014\023\2201\340\010\014\210L\230\001\330\014\020\220\016\230d\320\"4\260A\260Q\330\020\023\2204\220{\240!\240<\250t\260>\300\021\300!\330\024\033\2301\330\010\017\210q\320\004)\250\021\340\010\030\230\004\230A\330\010\017\210r\220\023\220D\230\005\230T\240\022\2403\240d\250!\320\004\"\240!\360\n\000\t\r\210L\230\n\240)\2501\250D\260\001\330\014\017\210t\2204\320\027'\240q\250\001\330\020""\026\220l\240!\360\006\000\t\020\210q\330\014\020\220\r\230Q\330\037 \340\014\020\220\r\230Q\200\001\360\010\000\005\016\210T\220\032\2304\320\0370\260\004\260K\270t\3001\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\2309\240G\2505\260\003\2604\260y\300\007\300q\330\004\007\200q\330\010\017\320\0171\260\024\260Q\260g\270[\310\007\310q\340\010\017\320\0171\260\024\260Q\260g\270[\310\001\200\001\360\010\000\005\016\210T\320\021#\2404\240w\250d\260!\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\320\033,\250G\2601\330\004\007\200q\330\010\017\320\017&\240d\250!\2507\260+\270W\300A\340\010\017\320\017&\240d\250!\2507\260+\270Q\200\001\360\010\000\005\016\210T\320\021!\240\024\320%9\270\024\320=O\310t\320Sg\320gk\320ks\320sw\360\000\000x\001E\002\360\000\000E\002I\002\360\000\000I\002W\002\360\000\000W\002[\002\360\000\000[\002l\002\360\000\000l\002p\002\360\000\000p\002|\002\360\000\000|\002@\003\360\000\000@\003N\003\360\000\000N\003R\003\360\000\000R\003^\003\360\000\000^\003b\003\360\000\000b\003l\003\360\000\000l\003p\003\360\000\000p\003q\003\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\230?\250'\260\025\260c\270\024\320=P\320PW\320W\\\320\\_\320_c\320ct\320t{\360\000\000|\001A\002\360\000\000A\002D\002\360\000\000D\002H\002\360\000\000H\002[\002\360\000\000[\002b\002\360\000\000b\002g\002\360\000\000g\002j\002\360\000\000j\002n\002\360\000\000n\002u\002\360\000\000u\002|\002\360\000\000|\002A\003\360\000\000A\003D\003\360\000\000D\003H\003\360\000\000H\003S\003\360\000\000S\003Z\003\360\000\000Z\003_\003\360\000\000_\003b\003\360\000\000b\003f\003\360\000\000f\003o\003\360\000\000o\003v\003\360\000\000v\003w\003\330\004\007\200q\330\010\017\320\017+\2504\250q\260\007\260{\300'\310\021\340\010\017\320\017+\2504\250q\260""\007\260{\300!\200\001\360\010\000\005\016\210T\220\027\230\004\230A\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\2306\240\027\250\005\250S\260\004\260I\270W\300A\330\004\007\200q\330\010\017\320\017&\240d\250!\2507\260+\270W\300A\340\010\017\320\017&\240d\250!\2507\260+\270Q\200\001\360\010\000\005\016\210T\320\021$\240D\250\013\2604\260z\300\024\300^\320SW\320W]\320]a\320ab\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\320\033-\250W\260E\270\023\270D\300\t\310\027\320PQ\330\004\007\200q\330\010\017\320\017,\250D\260\001\260\027\270\013\3007\310!\340\010\017\320\017,\250D\260\001\260\027\270\013\3001\200\001\360\010\000\005\016\210T\320\021$\240D\250\017\260t\270?\310$\310n\320\\`\320`a\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\230>\250\027\260\005\260S\270\004\270N\310'\320QV\320VY\320Y]\320]j\320jq\320qv\320vy\320y}\360\000\000~\001F\002\360\000\000F\002M\002\360\000\000M\002N\002\330\004\007\200q\330\010\017\320\017)\250\024\250Q\250g\260[\300\007\300q\340\010\017\320\017)\250\024\250Q\250g\260[\300\001\200\001\360\010\000\005\016\210T\320\021\"\240$\240k\260\024\260T\270\024\270Q\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220q\330\004\007\200q\330\010\017\320\017%\240T\250\021\250'\260\033\270G\3001\340\010\017\320\017%\240T\250\021\250'\260\033\270A\200\001\330\004)\250\021\250&\260\001\230\021\320\004(\250\001\340\010*\250$\250a\330\010\030\230\004\230A\340\010\013\2102\210S\220\004\220E\230\024\230R\230s\240$\240a\330\014\023\2209\230A\230S\240\003\2403\240a\330\010\017\210q\320\004(\250\001\340\010*\250$\250a\330\010\030\230\004\230A\340\010\013\2102\210S\220\004\220E\230\024\230R\230s\240$\240a\330\014\023\2209\230A\230S\240\001""\330\010\017\210q\320\004\031\230\021\340\010*\250$\250a\330\010\030\230\004\230A\360\006\000\t\r\210E\220\025\220a\220q\330\014\020\220\005\220U\230!\2301\330\020\023\2209\230A\230S\240\003\2403\240a\330\024\033\2301\330\010\017\210q\320\004\032\230!\340\010*\250$\250a\330\010\030\230\004\230A\330\010\031\230\021\360\006\000\t\r\210E\220\025\220a\220q\330\014\020\220\005\220U\230!\2301\330\020\023\2209\230A\230S\240\003\2403\240a\330\024\035\230Q\330\010\017\210v\220S\230\005\230R\230q\320\004\026\220a\340\010#\240:\250Q\330\014\027\220t\2301\330\014\023\2204\220q\330\014\030\230\004\230A\330\014\030\230\004\230A\360\006\000\t\021\220\t\230\024\230V\2405\250\001\330\010\020\320\020\"\240$\240a\330\010\020\220\n\230$\230a\330\010\020\220\r\230T\240\021\340\010\014\210C\210u\220I\230Q\230d\240!\330\014\024\220H\230A\230R\320\0373\2601\3204E\300U\310!\330\014\024\220H\230A\230R\230{\250!\2508\2605\270\001\330\014\024\220H\230A\230R\230y\250\001\250\021\330\014\024\220H\230A\230R\230\177\250a\250q\330\014\024\220H\230A\230R\230|\2501\250A\340\010\017\210q\320\004\036\230a\340\010*\250$\250a\330\010\030\230\004\230A\330\010\035\230Q\360\006\000\t\r\210E\220\025\220a\220q\330\014\020\220\005\220U\230!\2301\330\020\023\2209\230A\230S\240\003\2403\240a\330\024\032\230$\230b\240\003\2401\330\010\017\210q\320\004&\240a\330\010\017\210t\220>\240\021\240!\200\001\330\004.\250a\250v\260Q\200\001\330\004&\240a\240v\250Q\240q\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\2204\220x\230q\240\001\330\004\007\200|\2207\230!\330\010&\240a\240w\250n\270A\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\2205\230\010\240\001\240\021\330\004\007\200|\2207\230!\330\010'\240q\250\010\260\016\270a\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\320\023#\2408\2501\250A\330\004\007\200|\2207\230!\330\0102\260!\3203F\300n\320TU\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330""\004\023\2208\2308\2401\240A\330\004\007\200|\2207\230!\330\010*\250!\250;\260n\300A\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\220:\230X\240Q\240a\330\004\007\200|\2207\230!\330\010,\250A\250]\270.\310\001\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\220;\230h\240a\240q\330\004\007\200|\2207\230!\330\010-\250Q\250n\270N\310!\330\004\013\2101\210q\230q\200\001\330\004(\250\001\250\026\250q\320\004\027\220q\340\010\014\210E\220\025\220a\220q\320\004\027\220q\340\010\014\210I\220U\230!\2304\230q\330\010\014\210K\220q\330\010\014\320\014\036\230a\330\010\014\210J\220a\330\010\014\210M\230\021\340\010\014\210E\220\025\220a\220t\2301\330\014\025\220[\240\001\330\014\022\220'\230\021\330\014\022\320\022&\240c\250\021\250$\250j\270\001\330\014\017\210t\220=\240\004\240B\240b\250\003\2501\250D\260\001\330\020\026\220l\240$\320&8\270\001\270\021\340\020\026\220n\240A\330\014\022\220)\2301\330\014\022\220/\240\021\330\014\022\220,\230a\330\014\020\220\010\230\007\230q\240\001\320\004'\240q\330\010\017\210t\320\023#\2402\240T\250\033\260D\3208I\310\024\310T\320QU\320UV\320\004(\250\001\330\010\017\210t\220=\240\001\240\021\320\004)\250\021\330\010\017\210t\2207\230!\2301O"; + #else /* compression: none (8726 bytes) */ +const char* const bytes = ": Buffer view does not expose stridesCan only create a buffer that is contiguous in memory.Cannot assign to read-only memoryviewCannot create writable memory view from read-only memoryviewCannot index with type 'Cannot transpose memoryview with indirect dimensionsDimension %d is not directEmpty shape tuple for cython.arrayIndirect dimensions not supportedInvalid mode, expected 'c' or 'fortran', got Invalid shape in axis '), ))?add_note and at 0xblokus_cython.pyxcollections.abcdisableenablegc (got got differing extents in dimension isenableditemsize <= 0 for cython.arraylist | Noneno default __reduce__ due to non-trivial __cinit__numpy._core.multiarray failed to importnumpy._core.umath failed to import object>, orient=, pos=(unable to allocate array data.unable to allocate shape and strides.ASCIIBlokusGameBlokusGame.__reduce_cython__BlokusGame.__setstate_cython__BlokusGame._check_game_overBlokusGame._generate_action_space..genexprBlokusGame.apply_moveBlokusGame.copyBlokusGame.get_actionBlokusGame.get_moveBlokusGame.get_placed_cornersBlokusGame.get_placed_squaresBlokusGame.get_scoresBlokusGame.get_stateBlokusGame.get_valid_actionsBlokusGame.get_winnersBlokusGame.has_valid_movesBlokusGame.is_game_overBlokusGame.next_playerBlokusGame.play_moveBlokusGame.resetBlokusGame.valid_moveBoardBoard.__reduce_cython__Board.__setstate_cython__Board.clearBoard.coverageBoard.get_cellBoard.get_occupiedBoard.get_player_cornersBoard.get_player_occupiedBoard.get_player_squaresBoard.has_overlapBoard.in_boundsBoard.is_emptyBoard.is_fullBoard.placeEllipsisF5I1I2I3I4I5L4L5MoveMo""ve.__reduce_cython__Move.__setstate_cython__N5NoneO4P5PiecePieceOrientationPieceOrientation.__reduce_cython__PieceOrientation.__setstate_cython__PieceSetPieceSet.__reduce_cython__PieceSet.__setstate_cython__PieceSet.get_orientationsPieceSet.get_piecePieceSet.get_piece_idPiece.__reduce_cython__Piece.__setstate_cython__PlayerStatePlayerState.__reduce_cython__PlayerState.__setstate_cython____Pyx_PyDict_NextRefS4SequenceT4T5U5V3V5View.MemoryViewW5X5Y5Z5_abcactionallocate_buffer__annotate__apply_moveasyncio.coroutinesavailable_piecesbasebintblokus_cythonboard_sizeboolccan_move_check_game_over_check_game_over..genexpr__class____class_getitem__clearcline_in_tracebackclosecopycorner_rulecornerscountcoveragecurrent_playercxcy__dict__dict_dictdtypedtype_is_objectdxdyencodeenumerateerrorfillflagsfloatformatfortran__func__game_overgenexprget_actionget_cellget_moveget_occupiedget_orientationsget_pieceget_piece_idget_placed_cornersget_placed_squaresget_player_cornersget_player_occupiedget_player_squaresget_scoresget_standard_piecesget_stateget_valid_actionsget_winners__getstate__grid_viewhas_overlaphas_startedhas_valid_movesiididx__import__in_boundsindex__init__..genexprintint8_is_coroutineis_emptyis_fullis_game_overitemsitemsizelist__main__maxmax_scorememviewminmode__module__movename__name__ndim__new__new_gamenextnext_idxnext_playernormalize_squares_cython..genexprnpnum_actionsnum_piecesnum_playersnumpyoobjoffsetorientation_idppackpidpiecepiece_idpiecespieces_listplaceplaced_cornersplaced_squaresplay_moveplayerplayer_idxplayer_squaresplayerspop__pyx_checksum__pyx_result__pyx_state__pyx_type__pyx_unpickle_BlokusGame__pyx_unpickle_Board__pyx_unpickle_Enum__pyx_unpickle_Move__pyx_unpickle_Piece__pyx_unpickle_PieceOrientation__pyx_unpickle_PieceSet__pyx_unpickle_PlayerState__pyx_vtable____qualname____reduce____reduce_cython____reduce_ex__registerresetresultreturnroundssscorescoresselfsendset__set_name__setdefault__setstate____setstate_cython__shapesizesquares""startstatestepstopstructsum__test__throwunpackunplacedupdateuse_setstatevalid_movevaluevaluesxyzeros\320\0040\260\001\330\010\017\210t\220=\240\001\240\021\200\001\330\004#\2401\240F\250!\320\004\033\2301\340\010\t\330\014\032\230$\230a\330\014\033\2304\230q\330\014\036\230d\240!\330\014\026\220d\230!\330\014\031\230\024\230Q\330\014\027\220q\340\024\033\2301\230A\330\024(\250\004\250A\250Q\250a\330\024\035\230Q\230a\330\024#\2401\240A\330\024 \240\001\240\021\340\020\024\220E\230\024\230Q\320\004+\2501\360\006\000\t+\250$\250a\330\010\030\230\004\230A\340\010\014\210C\210u\220A\330\014\017\210u\220B\220c\230\024\230U\240$\240b\250\003\2504\250v\260S\270\t\300\021\300#\300S\310\003\3101\330\020\027\220q\330\010\017\210q\320\0044\260A\340\010*\250$\250a\330\010\030\230\004\230A\330\010\033\2301\360\006\000\t\r\210E\220\025\220a\220q\330\014\020\220\005\220U\230!\2301\330\020\023\2209\230A\230S\240\003\2403\240a\330\024\032\230'\240\022\2403\240a\330\010\017\210q\320\0044\260A\340\010*\250$\250a\330\010\030\230\004\230A\330\010\036\230a\330\010#\2404\320':\270!\2701\360\006\000\t\r\210C\210u\220A\330\014\020\220\004\220F\230\"\230A\230T\240\025\240d\250%\250q\260\003\2605\270\003\2701\330\020\024\220E\230\022\2302\230T\240\022\2402\240Q\330\020\023\2202\220S\230\005\230U\240$\240b\250\003\2505\260\005\260T\270\031\300!\3004\300t\3103\310a\330\024\033\2304\230r\240\024\240Q\330\010\017\210q\200\001\340\004\013\2104\210q\220\001\320\0045\260Q\340\010\013\210;\220g\230T\240\021\330\014\020\320\020 \240\001\240\036\250s\260!\2604\3207J\310!\3101\330\010\017\210t\320\023#\2401\240A\200\001\330\004\"\240!\2406\250\021\320\0047\260q\340\010\031\230\024\230^\2501\250A\340\010\013\2104\210t\220;\230a\230|\2501\330\014\023\2201\340\010\014\210K\220q\230\014\240A\330\010\017\210q\320\0047\260q\340\010\"\240$\240h\250a\250q\330\010\033\2304\230z\250\032\2601\260D\270\001\330\010#\2404\320';\2701\270A\360\010\000\t\r\210F\220&\230\001\230\033\240B\240c\250\021\360\006\000\t\017""\320\016\037\230x\240q\250\005\250Q\330\010\016\210j\230\005\230Q\360\006\000\t\014\2104\210v\220Q\330\014\022\220/\240\021\330\014\022\220.\240\001\360\006\000\t$\2404\320';\2701\270A\330\010\014\210C\210u\220A\330\014\017\210t\2206\230\032\2401\240C\240s\250$\250d\260&\270\t\300\021\300#\300Q\330\020\026\220h\230d\240\"\240C\240q\360\006\000\t\r\320\014\035\230Q\230A\320\004\034\230A\360\016\000\t\034\2301\360\014\000\t\r\210J\220d\230!\340\014\027\220q\330\014\020\220\007\220u\230A\230T\240\032\2501\330\020\030\230\004\230J\240j\260\001\260\021\330\020\023\2205\230\006\230c\240\026\240q\330\024 \240\005\240Q\330\014\024\220F\230'\240\022\2401\360\006\000\r\020\210s\220!\2206\320\031,\250C\250q\330\020\031\230\021\340\014\022\220'\230\021\230!\330\010\017\210q\200A\360\n\000\t\014\2104\210q\330\014\023\2204\220q\340\010\014\210J\220e\2301\230C\230t\240=\260\002\260!\330\014\030\230\004\320\034,\250B\250h\260b\270\004\270A\330\014\032\230$\230h\240a\240q\330\014\017\210{\230*\240D\250\004\320,<\270A\270Q\330\020\024\320\024&\240a\330\020\027\220q\360\006\000\t\r\210M\230\021\330\010\017\210t\2201\200A\360\006\000\t+\250$\250a\330\010\030\230\004\230A\340\010\014\210C\210u\220A\330\014\017\210r\220\023\220D\230\005\230T\240\022\2403\240d\250!\330\020\031\230\021\230#\230U\240!\360\006\000\t\014\210;\220c\230\024\230Q\330\014\020\320\020 \240\001\240\033\250G\2601\260A\200A\340\010\"\240$\240h\250a\250q\330\010\033\2304\230z\250\032\2601\260D\270\001\330\010#\2404\320';\2701\270A\330\010#\2404\320';\2701\270A\340\010$\240K\250r\260\021\360\n\000\t\014\2105\220\006\220g\230V\2401\330\014\023\2201\360\006\000\t\r\210C\210u\220A\330\014\017\210t\2204\220v\230Z\240q\250\003\2501\330\020\027\220q\360\006\000\t\014\2104\210v\220\\\240\021\240!\330\014\023\2201\360\006\000\t\014\2104\210}\230D\240\004\240F\250!\330\014\017\210s\220!\2204\220z\240\023\240C\240q\250\004\250A\330\020\037\230t\320#5\260Q\260a\330\020\024\220D\230\004\230D\240\004\240C\240q\330\024\033\2301\360""\006\000\t\r\210C\210u\220A\330\014\020\220\004\220F\230\"\230A\230S\240\005\240S\250\005\250T\260\025\260c\270\021\330\020\023\2204\220v\230Z\240q\250\002\250\"\250D\260\002\260\"\260A\330\024\027\220t\2306\240\031\250!\2502\250R\250t\2602\260R\260t\2703\270a\330\030\037\230q\360\006\000\t\014\2106\220\021\330\014\036\230d\240&\320(<\270A\270Q\340\014\025\220Q\330\014\020\220\004\220F\230!\330\020\023\2204\220v\230Z\240q\250\004\250D\260\005\260T\270\024\270S\300\001\330\024\035\230Q\330\024\025\330\014\017\210t\2201\330\020\027\220q\340\010\017\210q\200A\340\010\"\240$\240h\250a\250q\330\010 \240\002\240&\250\001\250\024\250^\2706\300\021\330\010(\250\001\360\010\000\t+\250+\260R\260q\360\016\000\t\r\210H\220F\230!\330\014\037\230w\240a\240t\250:\260]\300!\3001\340\010\013\2104\210v\220Q\330\014\023\2201\340\010\013\2104\210v\220]\240#\240T\250\026\250q\330\014\020\220\014\230A\330\020\024\220N\240$\320&8\270\001\270\021\330\024\027\220t\230;\240a\240|\2604\260~\300Q\300a\330\030\034\230A\230^\2501\330\014\023\2201\360\006\000\t\033\230$\230f\320$8\270\001\270\033\300B\300a\340\010\014\210L\230\001\330\014\020\220\016\230d\320\"4\260A\260Q\330\020\027\220t\230>\250\021\250!\330\020!\240\024\320%9\270\021\270!\360\006\000\021\032\230\021\330\020\024\220D\230\006\230a\330\024\027\220t\2306\240\032\2501\250D\260\004\260E\270\024\270T\300\023\300A\330\030!\240\021\330\030\031\330\020\023\2204\220q\330\024\025\340\020!\240\024\320%9\270\021\270!\360\006\000\021\032\230\021\330\020\024\220C\220u\230A\330\024\027\220t\2304\230v\240Z\250q\260\003\2601\330\030!\240\021\330\030\031\330\020\023\2204\220q\330\024\025\360\006\000\021\024\2204\220v\230\\\250\021\250!\330\024\025\360\006\000\021 \230q\330\020\024\220C\220u\230A\330\024\030\230\004\230F\240\"\240A\240S\250\005\250S\260\005\260T\270\025\270c\300\021\330\030\033\2304\230v\240Z\250q\260\002\260\"\260D\270\002\270\"\270A\330\034\037\230t\2406\250\031\260!\2602\260R\260t\2702\270R\270t\3003\300a\330 /\250q\330 !\330""\024\027\220q\330\030\031\340\020\023\2204\220q\330\024\030\230\001\230\036\240q\340\010\017\210q\200A\340\010\"\240$\240h\250a\250q\330\010(\250\001\360\010\000\t\r\210H\220F\230!\330\014\037\230w\240a\240t\250:\260]\300!\3001\340\010\013\2104\210v\220Q\330\014\023\2201\340\010\014\210L\230\001\330\014\020\220\016\230d\320\"4\260A\260Q\330\020\023\2204\220{\240!\240<\250t\260>\300\021\300!\330\024\033\2301\330\010\017\210q\320\004)\250\021\340\010\030\230\004\230A\330\010\017\210r\220\023\220D\230\005\230T\240\022\2403\240d\250!\200A\340\010\017\210t\320\023'\240q\250\001\320\004\"\240!\360\n\000\t\r\210L\230\n\240)\2501\250D\260\001\330\014\017\210t\2204\320\027'\240q\250\001\330\020\026\220l\240!\360\006\000\t\020\210q\330\014\020\220\r\230Q\330\037 \340\014\020\220\r\230Q\320\004\035\230Q\340\010\013\2104\210t\220=\240\001\330\014\023\2201\340\010\033\2304\230{\250!\330\010\035\230S\240\001\240\021\330\010\017\210q\220\002\220$\220c\230\025\230i\240q\250\010\260\003\2602\260S\270\001\200\001\360\010\000\005\016\210T\220\032\2304\320\0370\260\004\260K\270t\3001\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\2309\240G\2505\260\003\2604\260y\300\007\300q\330\004\007\200q\330\010\017\320\0171\260\024\260Q\260g\270[\310\007\310q\340\010\017\320\0171\260\024\260Q\260g\270[\310\001\200\001\360\010\000\005\016\210T\320\021#\2404\240w\250d\260!\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\320\033,\250G\2601\330\004\007\200q\330\010\017\320\017&\240d\250!\2507\260+\270W\300A\340\010\017\320\017&\240d\250!\2507\260+\270Q\200\001\360\010\000\005\016\210T\320\021!\240\024\320%9\270\024\320=O\310t\320Sg\320gk\320ks\320sw\360\000\000x\001E\002\360\000\000E\002I\002\360\000\000I\002W\002\360\000\000W\002[\002\360\000\000[\002l\002\360\000\000l\002p\002\360\000\000p\002|\002\360\000\000|\002@\003\360\000\000@\003N""\003\360\000\000N\003R\003\360\000\000R\003^\003\360\000\000^\003b\003\360\000\000b\003l\003\360\000\000l\003p\003\360\000\000p\003q\003\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\230?\250'\260\025\260c\270\024\320=P\320PW\320W\\\320\\_\320_c\320ct\320t{\360\000\000|\001A\002\360\000\000A\002D\002\360\000\000D\002H\002\360\000\000H\002[\002\360\000\000[\002b\002\360\000\000b\002g\002\360\000\000g\002j\002\360\000\000j\002n\002\360\000\000n\002u\002\360\000\000u\002|\002\360\000\000|\002A\003\360\000\000A\003D\003\360\000\000D\003H\003\360\000\000H\003S\003\360\000\000S\003Z\003\360\000\000Z\003_\003\360\000\000_\003b\003\360\000\000b\003f\003\360\000\000f\003o\003\360\000\000o\003v\003\360\000\000v\003w\003\330\004\007\200q\330\010\017\320\017+\2504\250q\260\007\260{\300'\310\021\340\010\017\320\017+\2504\250q\260\007\260{\300!\200\001\360\010\000\005\016\210T\220\027\230\004\230A\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\2306\240\027\250\005\250S\260\004\260I\270W\300A\330\004\007\200q\330\010\017\320\017&\240d\250!\2507\260+\270W\300A\340\010\017\320\017&\240d\250!\2507\260+\270Q\200\001\360\010\000\005\016\210T\320\021$\240D\250\013\2604\260z\300\024\300^\320SW\320W]\320]a\320ab\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\320\033-\250W\260E\270\023\270D\300\t\310\027\320PQ\330\004\007\200q\330\010\017\320\017,\250D\260\001\260\027\270\013\3007\310!\340\010\017\320\017,\250D\260\001\260\027\270\013\3001\200\001\360\010\000\005\016\210T\320\021$\240D\250\017\260t\270?\310$\310n\320\\`\320`a\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\230>\250\027\260\005\260S\270\004\270N\310'\320QV\320VY\320Y]\320]j\320jq\320qv\320vy\320y}\360\000""\000~\001F\002\360\000\000F\002M\002\360\000\000M\002N\002\330\004\007\200q\330\010\017\320\017)\250\024\250Q\250g\260[\300\007\300q\340\010\017\320\017)\250\024\250Q\250g\260[\300\001\200\001\360\010\000\005\016\210T\320\021\"\240$\240k\260\024\260T\270\024\270Q\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220q\330\004\007\200q\330\010\017\320\017%\240T\250\021\250'\260\033\270G\3001\340\010\017\320\017%\240T\250\021\250'\260\033\270A\200\001\330\004)\250\021\250&\260\001\230\021\320\004\036\230a\340\010\013\2104\210q\330\014\023\2201\360\006\000\t\r\210E\220\025\220a\220t\2301\330\014\017\210t\2208\2301\230B\230j\250\004\250D\3200@\300\001\300\021\330\020\027\220q\330\010\014\210M\230\021\330\010\017\210q\320\004(\250\001\340\010*\250$\250a\330\010\030\230\004\230A\340\010\013\2102\210S\220\004\220E\230\024\230R\230s\240$\240a\330\014\023\2209\230A\230S\240\003\2403\240a\330\010\017\210q\320\004(\250\001\340\010*\250$\250a\330\010\030\230\004\230A\340\010\013\2102\210S\220\004\220E\230\024\230R\230s\240$\240a\330\014\023\2209\230A\230S\240\001\330\010\017\210q\320\004\031\230\021\340\010*\250$\250a\330\010\030\230\004\230A\360\006\000\t\r\210E\220\025\220a\220q\330\014\020\220\005\220U\230!\2301\330\020\023\2209\230A\230S\240\003\2403\240a\330\024\033\2301\330\010\017\210q\320\004\032\230!\340\010*\250$\250a\330\010\030\230\004\230A\330\010\031\230\021\360\006\000\t\r\210E\220\025\220a\220q\330\014\020\220\005\220U\230!\2301\330\020\023\2209\230A\230S\240\003\2403\240a\330\024\035\230Q\330\010\017\210v\220S\230\005\230R\230q\320\004\026\220a\340\010#\240:\250Q\330\014\027\220t\2301\330\014\023\2204\220q\330\014\030\230\004\230A\330\014\030\230\004\230A\360\006\000\t\021\220\t\230\024\230V\2405\250\001\330\010\020\320\020\"\240$\240a\330\010\020\220\n\230$\230a\330\010\020\220\r\230T\240\021\340\010\014\210C\210u\220I\230Q\230d\240!\330\014\024\220H\230A\230R\320\0373\2601\3204E\300U\310!""\330\014\024\220H\230A\230R\230{\250!\2508\2605\270\001\330\014\024\220H\230A\230R\230y\250\001\250\021\330\014\024\220H\230A\230R\230\177\250a\250q\330\014\024\220H\230A\230R\230|\2501\250A\340\010\017\210q\320\004\036\230a\340\010*\250$\250a\330\010\030\230\004\230A\330\010\035\230Q\360\006\000\t\r\210E\220\025\220a\220q\330\014\020\220\005\220U\230!\2301\330\020\023\2209\230A\230S\240\003\2403\240a\330\024\032\230$\230b\240\003\2401\330\010\017\210q\320\004&\240a\330\010\017\210t\220>\240\021\240!\200\001\330\004.\250a\250v\260Q\200\001\330\004&\240a\240v\250Q\240q\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\2204\220x\230q\240\001\330\004\007\200|\2207\230!\330\010&\240a\240w\250n\270A\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\2205\230\010\240\001\240\021\330\004\007\200|\2207\230!\330\010'\240q\250\010\260\016\270a\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\320\023#\2408\2501\250A\330\004\007\200|\2207\230!\330\0102\260!\3203F\300n\320TU\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\2208\2308\2401\240A\330\004\007\200|\2207\230!\330\010*\250!\250;\260n\300A\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\220:\230X\240Q\240a\330\004\007\200|\2207\230!\330\010,\250A\250]\270.\310\001\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\220;\230h\240a\240q\330\004\007\200|\2207\230!\330\010-\250Q\250n\270N\310!\330\004\013\2101\210q\230q\200\001\330\004(\250\001\250\026\250q\320\004\027\220q\340\010\014\210E\220\025\220a\220q\320\004\027\220q\340\010\014\210I\220U\230!\2304\230q\330\010\014\210K\220q\330\010\014\320\014\036\230a\330\010\014\210J\220a\330\010\014\210M\230\021\340\010\014\210E\220\025\220a\220t\2301\330\014\025\220[\240\001\330\014\022\220'\230\021\330\014\022\320\022&\240c\250\021\250$\250j\270\001\330\014\017\210t\220=\240\004\240B\240b\250""\003\2501\250D\260\001\330\020\026\220l\240$\320&8\270\001\270\021\340\020\026\220n\240A\330\014\022\220)\2301\330\014\022\220/\240\021\330\014\022\220,\230a\330\014\020\220\010\230\007\230q\240\001\320\004'\240q\330\010\017\210t\320\023#\2402\240T\250\033\260D\3208I\310\024\310T\320QU\320UV\320\004(\250\001\330\010\017\210t\220=\240\001\240\021\320\004)\250\021\330\010\017\210t\2207\230!\2301O"; PyObject *data = NULL; CYTHON_UNUSED_VAR(__Pyx_DecompressString); #endif PyObject **stringtab = __pyx_mstate->__pyx_string_tab; Py_ssize_t pos = 0; - for (int i = 0; i < 296; i++) { + for (int i = 0; i < 313; i++) { Py_ssize_t bytes_length = index[i].length; PyObject *string = PyUnicode_DecodeUTF8(bytes + pos, bytes_length, NULL); - if (likely(string) && i >= 50) PyUnicode_InternInPlace(&string); + if (likely(string) && i >= 51) PyUnicode_InternInPlace(&string); if (unlikely(!string)) { Py_XDECREF(data); __PYX_ERR(0, 1, __pyx_L1_error) @@ -50257,7 +51710,7 @@ const char* const bytes = ": Buffer view does not expose stridesCan only create stringtab[i] = string; pos += bytes_length; } - for (int i = 296; i < 348; i++) { + for (int i = 313; i < 370; i++) { Py_ssize_t bytes_length = index[i].length; PyObject *string = PyBytes_FromStringAndSize(bytes + pos, bytes_length); stringtab[i] = string; @@ -50268,15 +51721,15 @@ const char* const bytes = ": Buffer view does not expose stridesCan only create } } Py_XDECREF(data); - for (Py_ssize_t i = 0; i < 348; i++) { + for (Py_ssize_t i = 0; i < 370; i++) { if (unlikely(PyObject_Hash(stringtab[i]) == -1)) { __PYX_ERR(0, 1, __pyx_L1_error) } } #if CYTHON_IMMORTAL_CONSTANTS { - PyObject **table = stringtab + 296; - for (Py_ssize_t i=0; i<52; ++i) { + PyObject **table = stringtab + 313; + for (Py_ssize_t i=0; i<57; ++i) { #if PY_VERSION_HEX >= 0x030F0000 PyUnstable_SetImmortal(table[i]); #elif CYTHON_COMPILING_IN_CPYTHON_FREETHREADING @@ -50359,97 +51812,97 @@ static int __Pyx_CreateCodeObjects(__pyx_mstatetype *__pyx_mstate) { { const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 241}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_o}; - __pyx_mstate_global->__pyx_codeobj_tab[0] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[0])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[0] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[0])) goto bad; } { - const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 351}; + const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 356}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x, __pyx_mstate->__pyx_n_u__10}; - __pyx_mstate_global->__pyx_codeobj_tab[1] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591__9, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[1] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591__9, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1])) goto bad; } { - const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 352}; + const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 357}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u__10, __pyx_mstate->__pyx_n_u_y}; - __pyx_mstate_global->__pyx_codeobj_tab[2] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591__9, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[2])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[2] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591__9, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[2])) goto bad; } { - const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 481}; + const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 486}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x, __pyx_mstate->__pyx_n_u__10}; - __pyx_mstate_global->__pyx_codeobj_tab[3] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[3])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[3] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[3])) goto bad; } { - const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 482}; + const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 487}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u__10, __pyx_mstate->__pyx_n_u_y}; - __pyx_mstate_global->__pyx_codeobj_tab[4] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[4])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[4] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[4])) goto bad; } { - const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 754}; + const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 767}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_p}; - __pyx_mstate_global->__pyx_codeobj_tab[5] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591_q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[5])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[5] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591_q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[5])) goto bad; } { - const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 756}; + const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 769}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_p}; - __pyx_mstate_global->__pyx_codeobj_tab[6] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591_q_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[6])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[6] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591_q_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[6])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 35}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_player_idx, __pyx_mstate->__pyx_n_u_squares, __pyx_mstate->__pyx_n_u_x, __pyx_mstate->__pyx_n_u_y, __pyx_mstate->__pyx_n_u_grid_view, __pyx_mstate->__pyx_n_u_size}; - __pyx_mstate_global->__pyx_codeobj_tab[7] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_place, __pyx_mstate->__pyx_kp_b_iso88591_A_a_A_CuA_r_D_T_3d_U_c_Q_G1A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[7])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[7] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_place, __pyx_mstate->__pyx_kp_b_iso88591_A_a_A_CuA_r_D_T_3d_U_c_Q_G1A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[7])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 49}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self}; - __pyx_mstate_global->__pyx_codeobj_tab[8] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_clear, __pyx_mstate->__pyx_kp_b_iso88591_q_E_aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[8])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[8] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_clear, __pyx_mstate->__pyx_kp_b_iso88591_q_E_aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[8])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 53}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_x, __pyx_mstate->__pyx_n_u_y, __pyx_mstate->__pyx_n_u_grid_view, __pyx_mstate->__pyx_n_u_size}; - __pyx_mstate_global->__pyx_codeobj_tab[9] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_is_empty, __pyx_mstate->__pyx_kp_b_iso88591_a_A_2S_E_Rs_a_9AS_3a_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[9])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[9] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_is_empty, __pyx_mstate->__pyx_kp_b_iso88591_a_A_2S_E_Rs_a_9AS_3a_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[9])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 62}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_x, __pyx_mstate->__pyx_n_u_y, __pyx_mstate->__pyx_n_u_size}; - __pyx_mstate_global->__pyx_codeobj_tab[10] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_in_bounds, __pyx_mstate->__pyx_kp_b_iso88591_A_r_D_T_3d, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[10])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[10] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_in_bounds, __pyx_mstate->__pyx_kp_b_iso88591_A_r_D_T_3d, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[10])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 67}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_squares, __pyx_mstate->__pyx_n_u_x, __pyx_mstate->__pyx_n_u_y, __pyx_mstate->__pyx_n_u_grid_view, __pyx_mstate->__pyx_n_u_size}; - __pyx_mstate_global->__pyx_codeobj_tab[11] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_has_overlap, __pyx_mstate->__pyx_kp_b_iso88591_1_a_A_CuA_uBc_U_b_4vS_S_1_q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[11])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[11] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_has_overlap, __pyx_mstate->__pyx_kp_b_iso88591_1_a_A_CuA_uBc_U_b_4vS_S_1_q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[11])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 85}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_x, __pyx_mstate->__pyx_n_u_y, __pyx_mstate->__pyx_n_u_grid_view, __pyx_mstate->__pyx_n_u_size}; - __pyx_mstate_global->__pyx_codeobj_tab[12] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_get_cell, __pyx_mstate->__pyx_kp_b_iso88591_a_A_2S_E_Rs_a_9AS_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[12])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[12] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_get_cell, __pyx_mstate->__pyx_kp_b_iso88591_a_A_2S_E_Rs_a_9AS_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[12])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 94}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_player_idx, __pyx_mstate->__pyx_n_u_grid_view, __pyx_mstate->__pyx_n_u_size, __pyx_mstate->__pyx_n_u_result, __pyx_mstate->__pyx_n_u_x, __pyx_mstate->__pyx_n_u_y}; - __pyx_mstate_global->__pyx_codeobj_tab[13] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_get_player_squares, __pyx_mstate->__pyx_kp_b_iso88591_4A_a_A_1_E_aq_U_1_9AS_3a_3a_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[13])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[13] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_get_player_squares, __pyx_mstate->__pyx_kp_b_iso88591_4A_a_A_1_E_aq_U_1_9AS_3a_3a_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[13])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 107}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_player_idx}; - __pyx_mstate_global->__pyx_codeobj_tab[14] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_get_player_occupied, __pyx_mstate->__pyx_kp_b_iso88591_5Q_gT_s_47J_1_t_1A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[14])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[14] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_get_player_occupied, __pyx_mstate->__pyx_kp_b_iso88591_5Q_gT_s_47J_1_t_1A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[14])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 113}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_player_idx, __pyx_mstate->__pyx_n_u_grid_view, __pyx_mstate->__pyx_n_u_size, __pyx_mstate->__pyx_n_u_corners, __pyx_mstate->__pyx_n_u_player_squares, __pyx_mstate->__pyx_n_u_x, __pyx_mstate->__pyx_n_u_y, __pyx_mstate->__pyx_n_u_dx, __pyx_mstate->__pyx_n_u_dy, __pyx_mstate->__pyx_n_u_cx, __pyx_mstate->__pyx_n_u_cy}; - __pyx_mstate_global->__pyx_codeobj_tab[15] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_get_player_corners, __pyx_mstate->__pyx_kp_b_iso88591_4A_a_A_a_4_1_CuA_F_AT_d_q_5_1_E, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[15])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[15] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_get_player_corners, __pyx_mstate->__pyx_kp_b_iso88591_4A_a_A_a_4_1_CuA_F_AT_d_q_5_1_E, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[15])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 128}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_grid_view, __pyx_mstate->__pyx_n_u_size, __pyx_mstate->__pyx_n_u_result, __pyx_mstate->__pyx_n_u_x, __pyx_mstate->__pyx_n_u_y}; - __pyx_mstate_global->__pyx_codeobj_tab[16] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_get_occupied, __pyx_mstate->__pyx_kp_b_iso88591_a_a_A_Q_E_aq_U_1_9AS_3a_b_1_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[16])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[16] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_get_occupied, __pyx_mstate->__pyx_kp_b_iso88591_a_a_A_Q_E_aq_U_1_9AS_3a_b_1_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[16])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 141}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_grid_view, __pyx_mstate->__pyx_n_u_size, __pyx_mstate->__pyx_n_u_x, __pyx_mstate->__pyx_n_u_y}; - __pyx_mstate_global->__pyx_codeobj_tab[17] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_is_full, __pyx_mstate->__pyx_kp_b_iso88591_a_A_E_aq_U_1_9AS_3a_1_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[17])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[17] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_is_full, __pyx_mstate->__pyx_kp_b_iso88591_a_A_E_aq_U_1_9AS_3a_1_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[17])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 153}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_grid_view, __pyx_mstate->__pyx_n_u_size, __pyx_mstate->__pyx_n_u_count, __pyx_mstate->__pyx_n_u_x, __pyx_mstate->__pyx_n_u_y}; - __pyx_mstate_global->__pyx_codeobj_tab[18] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_coverage, __pyx_mstate->__pyx_kp_b_iso88591_a_A_E_aq_U_1_9AS_3a_Q_vS_Rq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[18])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[18] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_coverage, __pyx_mstate->__pyx_kp_b_iso88591_a_A_E_aq_U_1_9AS_3a_Q_vS_Rq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[18])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1}; @@ -50494,17 +51947,17 @@ static int __Pyx_CreateCodeObjects(__pyx_mstatetype *__pyx_mstate) { { const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 247}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_piece_id}; - __pyx_mstate_global->__pyx_codeobj_tab[27] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_get_orientations, __pyx_mstate->__pyx_kp_b_iso88591_0_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[27])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[27] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_get_orientations, __pyx_mstate->__pyx_kp_b_iso88591_0_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[27])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 250}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_piece_id}; - __pyx_mstate_global->__pyx_codeobj_tab[28] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_get_piece, __pyx_mstate->__pyx_kp_b_iso88591_t7_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[28])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[28] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_get_piece, __pyx_mstate->__pyx_kp_b_iso88591_t7_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[28])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 253}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_name}; - __pyx_mstate_global->__pyx_codeobj_tab[29] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_get_piece_id, __pyx_mstate->__pyx_kp_b_iso88591_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[29])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[29] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_get_piece_id, __pyx_mstate->__pyx_kp_b_iso88591_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[29])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1}; @@ -50516,120 +51969,150 @@ static int __Pyx_CreateCodeObjects(__pyx_mstatetype *__pyx_mstate) { PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state}; __pyx_mstate_global->__pyx_codeobj_tab[31] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_avQ_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[31])) goto bad; } + { + const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 0, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 311}; + PyObject* const varnames[] = {0}; + __pyx_mstate_global->__pyx_codeobj_tab[32] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_get_standard_pieces, __pyx_mstate->__pyx_kp_b_iso88591_4q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[32])) goto bad; + } { const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate}; - __pyx_mstate_global->__pyx_codeobj_tab[32] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_T_D_4z_SWW_aab_G1F_a_vWE_Q_q_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[32])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[33] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_T_D_4z_SWW_aab_G1F_a_vWE_Q_q_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[33])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state}; - __pyx_mstate_global->__pyx_codeobj_tab[33] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591__11, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[33])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[34] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591__11, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[34])) goto bad; } { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 495}; + const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 500}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_action}; - __pyx_mstate_global->__pyx_codeobj_tab[34] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_get_move, __pyx_mstate->__pyx_kp_b_iso88591_a_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[34])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[35] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_get_move, __pyx_mstate->__pyx_kp_b_iso88591_a_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[35])) goto bad; } { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 498}; + const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 503}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_move}; - __pyx_mstate_global->__pyx_codeobj_tab[35] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_get_action, __pyx_mstate->__pyx_kp_b_iso88591_q_t_2T_D8I_TQUUV, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[35])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[36] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_get_action, __pyx_mstate->__pyx_kp_b_iso88591_q_t_2T_D8I_TQUUV, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[36])) goto bad; } { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 501}; + const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 506}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_player}; - __pyx_mstate_global->__pyx_codeobj_tab[36] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_reset, __pyx_mstate->__pyx_kp_b_iso88591_q_IU_4q_Kq_a_Ja_M_E_at1_c_j_t_B, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[36])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[37] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_reset, __pyx_mstate->__pyx_kp_b_iso88591_q_IU_4q_Kq_a_Ja_M_E_at1_c_j_t_B, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[37])) goto bad; } { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 540}; + const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 536}; + PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_move}; + __pyx_mstate_global->__pyx_codeobj_tab[38] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_get_placed_squares, __pyx_mstate->__pyx_kp_b_iso88591_A_t_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[38])) goto bad; + } + { + const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 549}; + PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_move}; + __pyx_mstate_global->__pyx_codeobj_tab[39] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_get_placed_corners, __pyx_mstate->__pyx_kp_b_iso88591_A_t_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[39])) goto bad; + } + { + const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 553}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_player_idx, __pyx_mstate->__pyx_n_u_move}; - __pyx_mstate_global->__pyx_codeobj_tab[37] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_valid_move, __pyx_mstate->__pyx_kp_b_iso88591_A_haq_4z_1D_4_1A_4_1A_Kr_5_gV1_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[37])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[40] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_valid_move, __pyx_mstate->__pyx_kp_b_iso88591_A_haq_4z_1D_4_1A_4_1A_Kr_5_gV1_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[40])) goto bad; } { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 592}; + const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 605}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_player_idx}; - __pyx_mstate_global->__pyx_codeobj_tab[38] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_get_valid_actions, __pyx_mstate->__pyx_kp_b_iso88591_A_haq_6_Rq_HF_wat_1_4vQ_1_4v_T_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[38])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[41] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_get_valid_actions, __pyx_mstate->__pyx_kp_b_iso88591_A_haq_6_Rq_HF_wat_1_4vQ_1_4v_T_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[41])) goto bad; } { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 668}; + const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 681}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_player_idx}; - __pyx_mstate_global->__pyx_codeobj_tab[39] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_has_valid_moves, __pyx_mstate->__pyx_kp_b_iso88591_A_haq_HF_wat_1_4vQ_1_L_d_4AQ_4_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[39])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[42] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_has_valid_moves, __pyx_mstate->__pyx_kp_b_iso88591_A_haq_HF_wat_1_4vQ_1_L_d_4AQ_4_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[42])) goto bad; } { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 687}; + const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 700}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_player_idx, __pyx_mstate->__pyx_n_u_move, __pyx_mstate->__pyx_n_u_player, __pyx_mstate->__pyx_n_u_piece, __pyx_mstate->__pyx_n_u_placed_squares, __pyx_mstate->__pyx_n_u_x, __pyx_mstate->__pyx_n_u_y, __pyx_mstate->__pyx_n_u_placed_corners}; - __pyx_mstate_global->__pyx_codeobj_tab[40] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_apply_move, __pyx_mstate->__pyx_kp_b_iso88591_7q_haq_4z_1D_4_1A_F_Bc_xq_Q_j_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[40])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[43] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_apply_move, __pyx_mstate->__pyx_kp_b_iso88591_7q_haq_4z_1D_4_1A_F_Bc_xq_Q_j_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[43])) goto bad; } { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 715}; + const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 728}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_player_idx, __pyx_mstate->__pyx_n_u_action, __pyx_mstate->__pyx_n_u_move}; - __pyx_mstate_global->__pyx_codeobj_tab[41] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_play_move, __pyx_mstate->__pyx_kp_b_iso88591_7q_1A_4t_a_1_1_Kq_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[41])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[44] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_play_move, __pyx_mstate->__pyx_kp_b_iso88591_7q_1A_4t_a_1_1_Kq_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[44])) goto bad; } { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 725}; + const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 738}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_offset, __pyx_mstate->__pyx_n_u_next_idx, __pyx_mstate->__pyx_n_u_next_player}; - __pyx_mstate_global->__pyx_codeobj_tab[42] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_next_player, __pyx_mstate->__pyx_kp_b_iso88591_A_4q_4q_Je1Ct_Bhb_A_haq_D_AQ_a_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[42])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[45] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_next_player, __pyx_mstate->__pyx_kp_b_iso88591_A_4q_4q_Je1Ct_Bhb_A_haq_D_AQ_a_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[45])) goto bad; } { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 744}; + const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 757}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_player, __pyx_mstate->__pyx_n_u_player_idx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr}; - __pyx_mstate_global->__pyx_codeobj_tab[43] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_check_game_over, __pyx_mstate->__pyx_kp_b_iso88591_L_1D_t4_q_l_q_Q_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[43])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[46] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_check_game_over, __pyx_mstate->__pyx_kp_b_iso88591_L_1D_t4_q_l_q_Q_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[46])) goto bad; } { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 760}; + const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 773}; + PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_i}; + __pyx_mstate_global->__pyx_codeobj_tab[47] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_is_game_over, __pyx_mstate->__pyx_kp_b_iso88591_a_4q_1_E_at1_t81Bj_D0_q_M_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[47])) goto bad; + } + { + const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 785}; + PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_scores, __pyx_mstate->__pyx_n_u_player, __pyx_mstate->__pyx_n_u_unplaced, __pyx_mstate->__pyx_n_u_score, __pyx_mstate->__pyx_n_u_pid, __pyx_mstate->__pyx_n_u_piece}; + __pyx_mstate_global->__pyx_codeobj_tab[48] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_get_scores, __pyx_mstate->__pyx_kp_b_iso88591_A_1_Jd_q_uAT_1_Jj_5_c_q_Q_F_1_s, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[48])) goto bad; + } + { + const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 814}; + PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_scores, __pyx_mstate->__pyx_n_u_max_score, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_s}; + __pyx_mstate_global->__pyx_codeobj_tab[49] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_get_winners, __pyx_mstate->__pyx_kp_b_iso88591_Q_4t_1_4_S_q_c_iq_2S, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[49])) goto bad; + } + { + const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 823}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_p}; - __pyx_mstate_global->__pyx_codeobj_tab[44] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_get_state, __pyx_mstate->__pyx_kp_b_iso88591_1_a_4q_d_d_Q_q_1A_AQa_Qa_1A_E_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[44])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[50] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_get_state, __pyx_mstate->__pyx_kp_b_iso88591_1_a_4q_d_d_Q_q_1A_AQa_Qa_1A_E_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[50])) goto bad; } { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 780}; + const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 843}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_new_game, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_p}; - __pyx_mstate_global->__pyx_codeobj_tab[45] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_gym_core_blokus_cython_py, __pyx_mstate->__pyx_n_u_copy, __pyx_mstate->__pyx_kp_b_iso88591_a_Q_t1_4q_A_A_V5_a_a_T_CuIQd_HA, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[45])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[51] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_blokus_cython_pyx, __pyx_mstate->__pyx_n_u_copy, __pyx_mstate->__pyx_kp_b_iso88591_a_Q_t1_4q_A_A_V5_a_a_T_CuIQd_HA, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[51])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate}; - __pyx_mstate_global->__pyx_codeobj_tab[46] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_T_9_OtSggkkssw_x_E_E_I_I_W_W_l, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[46])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[52] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_T_9_OtSggkkssw_x_E_E_I_I_W_W_l, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[52])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state}; - __pyx_mstate_global->__pyx_codeobj_tab[47] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[47])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[53] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[53])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result}; - __pyx_mstate_global->__pyx_codeobj_tab[48] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_pyx_unpickle_Board, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_5_7_q_a_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[48])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[54] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_pyx_unpickle_Board, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_5_7_q_a_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[54])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result}; - __pyx_mstate_global->__pyx_codeobj_tab[49] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_pyx_unpickle_Move, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_4xq_7_awnA_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[49])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[55] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_pyx_unpickle_Move, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_4xq_7_awnA_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[55])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result}; - __pyx_mstate_global->__pyx_codeobj_tab[50] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_pyx_unpickle_PieceOrientation, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_81A_7_2_3FnTU_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[50])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[56] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_pyx_unpickle_PieceOrientation, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_81A_7_2_3FnTU_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[56])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result}; - __pyx_mstate_global->__pyx_codeobj_tab[51] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_pyx_unpickle_Piece, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_5_7_q_a_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[51])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[57] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_pyx_unpickle_Piece, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_5_7_q_a_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[57])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result}; - __pyx_mstate_global->__pyx_codeobj_tab[52] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_pyx_unpickle_PieceSet, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_881A_7_nA_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[52])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[58] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_pyx_unpickle_PieceSet, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_881A_7_nA_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[58])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result}; - __pyx_mstate_global->__pyx_codeobj_tab[53] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_pyx_unpickle_PlayerState, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_haq_7_QnN_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[53])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[59] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_pyx_unpickle_PlayerState, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_haq_7_QnN_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[59])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result}; - __pyx_mstate_global->__pyx_codeobj_tab[54] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_pyx_unpickle_BlokusGame, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_XQa_7_A_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[54])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[60] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_pyx_unpickle_BlokusGame, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_XQa_7_A_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[60])) goto bad; } Py_DECREF(tuple_dedup_map); return 0; diff --git a/src/blokus_gym/core/blokus_cython.cpython-312-x86_64-linux-gnu.so b/src/blokus_gym/core/blokus_cython.cpython-312-x86_64-linux-gnu.so index 7166136..ef94bea 100755 Binary files a/src/blokus_gym/core/blokus_cython.cpython-312-x86_64-linux-gnu.so and b/src/blokus_gym/core/blokus_cython.cpython-312-x86_64-linux-gnu.so differ diff --git a/src/blokus_gym/core/build/lib.linux-x86_64-cpython-312/blokus_cython.cpython-312-x86_64-linux-gnu.so b/src/blokus_gym/core/build/lib.linux-x86_64-cpython-312/blokus_cython.cpython-312-x86_64-linux-gnu.so index 610439f..ef94bea 100755 Binary files a/src/blokus_gym/core/build/lib.linux-x86_64-cpython-312/blokus_cython.cpython-312-x86_64-linux-gnu.so and b/src/blokus_gym/core/build/lib.linux-x86_64-cpython-312/blokus_cython.cpython-312-x86_64-linux-gnu.so differ diff --git a/src/blokus_gym/core/build/temp.linux-x86_64-cpython-312/blokus_cython.o b/src/blokus_gym/core/build/temp.linux-x86_64-cpython-312/blokus_cython.o index e4a0082..da1512e 100644 Binary files a/src/blokus_gym/core/build/temp.linux-x86_64-cpython-312/blokus_cython.o and b/src/blokus_gym/core/build/temp.linux-x86_64-cpython-312/blokus_cython.o differ