File tree Expand file tree Collapse file tree 1 file changed +4
-3
lines changed
Expand file tree Collapse file tree 1 file changed +4
-3
lines changed Original file line number Diff line number Diff line change @@ -1491,16 +1491,17 @@ class cbitfix(object):
14911491 malloc = staticmethod (lambda * args : cbits .malloc (* args ))
14921492 n_elements = staticmethod (lambda : 1 )
14931493 conv = staticmethod (lambda x : x )
1494- load_mem = classmethod (lambda cls , * args : cls ._new (cbits .load_mem (* args )))
1494+ load_mem = classmethod (lambda cls , * args : cls ._new (
1495+ cbits .get_type (cls .k ).load_mem (* args ), adjust = False ))
14951496 store_in_mem = lambda self , * args : self .v .store_in_mem (* args )
14961497 mem_size = staticmethod (lambda * args : 1 )
14971498 size = 1
14981499 @classmethod
1499- def _new (cls , value ):
1500+ def _new (cls , value , adjust = True ):
15001501 if isinstance (value , list ):
15011502 return [cls ._new (x ) for x in value ]
15021503 res = cls ()
1503- if cls .k < value .unit :
1504+ if cls .k < value .unit and adjust :
15041505 bits = value .bit_decompose (cls .k )
15051506 sign = bits [- 1 ]
15061507 value += (sign << (cls .k )) * - 1
You can’t perform that action at this time.
0 commit comments